<bgdev />free

| |  


All tags 2023 9may ai algorithm alpha amd american api argon2 arm asm asmbb assembler attachment awareness balgaria bay888 bcrypt bender beta bgdev-next bgdev-next.👍 big.data bitchnigga bitcoin bmw boi borg brexit bug bulgaria business c cad chat cloud computer-names console crossorigin deprivation desktop dna dotnet email eupl falling feature forum foundation fp fresh fun game gcc github goats google gpl gpt gpt.3.5 gypsies happiness harvard hash improvement include investment it java javascript js kleta kleta.maqka.balg lambi language learning leftovers legend level levenshtein.dist libx license linkedlist linux m0 ma mcafee mele microsoft minimag minimalism negro net nginx nigga not.a.bug oop paradigm parler patterns perception persuasion pipe play.station politics populi pornhub pow pro programming protonmail python reba rust sci-fi scripting seks seo server shell sleep smartbeauty soft-skills sqlite srabska sse starship sugerface syntax tablet tailwindcss telegram theme thug troll80lvl tutanota typescript uacme ui uk unix untermensch upload uptime usa utilities ux vb via viber virtual.reality vox vps vulnerable war wasm weapons-grade web windows word x86 xbox xss youtube zig ziglang Übermensch БОКЕБЪЛГАРИН БЪ БЪлгария Белезниците Били Били.Белезниците БялДонор Веган Виста Възраждане ГЛУПАК Гана Глиста ЕС Казарма Копейкин Мода.и.овча.мисъ НЕКАДЪРНИК НРБ ПО-ЗЛЕ.И.ОТ.РАБИ Подкасти Разни Румен СИК СКУМ СетенЧук Скум ТИР Туче Украйна Урсула Яначков авангард аз айфонджия алгоритми амбиции анархизъм антиваксъри армения аудио аутисти бази.данни бакъп без без.пръчове безпросвета бенчмарк биготи биомаса бира боклук борисов ботев брадва булшит бъг бъгове бял ваксина вандал век венерика викинги вицове вишу война вървежен гана ганорник гей гейщина германия герои гешев глупак говеда групировка гюбек данъкоплатец двойни.стандарти дедотия демокрация дизайн дисциплина добитък докери долар донори држава дришльо дрон ебане еврогейски.съюз езици експеримент електроника електроника.s2 емиграция ендпойнт енум ерген ергономия жалкар задача затоплизъм защита здраве златен злато игри идеали идиократ идиократи идиокрация идиот избори избори.рабин изкуство икономика имбецили имейл инвестиране инокулация инструмента интервю ипад искам.да.си.реда казах камшикодържач капитализъм карабах караница картечница кино клавиатура ковид19 колайдер колям.кур комари комплексар комунизъм консолидация конспирации космонавтика кофа кофит-19 краставица криптовалути курви кучелюбци лайно лаладжия лаптоп либерастия литература лоши.практики луд лъжеучени лъжец любов майни майтапи малоумници мафия мениджмънт месо местене метавселена метафизика механика мистика мисъл мода мода.овча.мисъл модерация морал мутра мутри наука национализъм не.it негър некадърник некадърници неон нидерландия овча овчи олигофрени организация офтопик парички партия педал пенджури пенсия пишока плюскане победа погромист поезия политика порно посредствен почивка празници прасе превод предалщина програмиране проект проста простотии против.правилата проф пръч пръч.дришльо пръчка психика психични.болести психология пустиняк путин путката путьо рабин рабин.е.шибан.пе работа радост разврат разни разработка расизъм резерват рейтинг реклама рекламен религия рест ризи ропче ропчета русия руски.език рутина самоковска сасипаха секира село селяндур сериали сериозно.програм сетен сеянин симулация скопяване скръм слушалки сортиране софия софтуер софтуни социализъм спектрометър спринтове сране стандарти стил стуйо стюи сушилня сцена съвет съм сън сървър сърничка таб ташаци телевизия тема територията терминология термояд технологии титли традиция тролинг тръмп туба туче тъпак тъпанари тъпня уиндоус украйна умнокрасивци фалит фантастика фашизъм фейк.акаунти физика филми форум форумни.проекти футбол хазарт хамали харабия хардуер хахаха хомофобия хостинг храна хумор цайко цайси целофан цензура цензурра циганин чалга чалгар чекии чернокраки честота чипове чнг чужбина чук шпация щайга юан яката яко ям 🔨 😂 🪓


Задача НЕ за интервю

  

0 1 2 3 4 5 ...18 19 20 21 22 ...32 33 34 35 36


  |  Създадено на 20.09.2020, видяно: 1972 пъти. #11297
johnfound
|

Как каквото и да правя с функцията ще промени факта, че sqlite ще я извика за всяка двойка от стрингове?

Това, което прави trie е да сравнява всеки различен символ във ВСИЧКИ стрингове от колекцията само веднъж.

Рязането на стрингове под 90 и над 210 е нормално и вече го правя.

Сортирането не помага. Ако помислиш малко ще се сетиш защо. А trie така или иначе ги сортира автоматично.

А, когато изпълнението на кода отнема седмица, слабо ме вълнова дали О-то е същото.

Ами не, не съм убеден. Реално, за всеки стринг от B ти трябва да обходиш цялото дърво. Което като сложност е еквивалентно на обхождането на целият масив А.

Икономисваш само на изчислението на разстоянието, тъй като връщайки се назад по дървото, можеш да имаш частично изчисленото разстояние и да продължиш от текущият символ, а не да започваш отначало.

Само че, за сметка на това имаш:

1. Рекурсия, която далеч не е евтина и като време и като памет.

2. Работа с далеч по-големи структури от данни, вместо с еднобайтови символи. Които структури често ще излизат от кеша на процесора.

3. Много повече код, който трябва да се изпълнява, заради 1 и 2.

И дали ползата превишава вредата е нещо, което трябва да се докаже. Освен това, ти пак не казваш на какво си го написал? Да не се окаже, че ако се напише на нормален език без всичките тези дървета пак ще е по-бързо.

Защото аз съм се убедил, че ако не се променя О() сложността, то трябва да се избира най-простото решение, а не това, което икономисва някакви итерации за сметка на прекомерно усложняване на кода и данните.

Не трябва да обходя цялото дърво, а само частите които ще доведат по-малка разлика от тази която има е в момента.

Рекурсията не е задължителна, версията ми на С няма рекурсия (понеже GPU-тата не я харесват).

Кода изобщо не е много, в омента не съм вкъщи да проверя, но е под 50 реда С.



  johnfound  Последно редактирано на 20.09.2020 от johnfound, видяно: 1968 пъти. #11300
|

Не трябва да обходя цялото дърво, а само частите които ще доведат по-малка разлика от тази която има е в момента.

Което може и да е цялото дърво, ако минималният елемент е последният. ;-) А средно - половината дърво. Което, както казах не променя асимптотичната сложност на алгоритъма.

А на какъв език е написано това, което работи една седмица?



  |  Създадено на 20.09.2020, видяно: 1962 пъти. #11301
johnfound
|

Не трябва да обходя цялото дърво, а само частите които ще доведат по-малка разлика от тази която има е в момента.

Което може и да е цялото дърво, ако минималният елемент е последният. ;-) А средно - половината дърво. Което, както казах не променя асимптотичната сложност на алгоритъма.

А на какъв език е написано това, което работи една седмица?

Нали вече ти казах, слабо че интересува асимптотичната сложност. Затова и съм дал брой на елементите.

Написано е на Go, скоростта е близка до С.



  johnfound  Създадено на 20.09.2020, видяно: 1954 пъти. #11307
|
johnfound
|

Не трябва да обходя цялото дърво, а само частите които ще доведат по-малка разлика от тази която има е в момента.

Което може и да е цялото дърво, ако минималният елемент е последният. ;-) А средно - половината дърво. Което, както казах не променя асимптотичната сложност на алгоритъма.

А на какъв език е написано това, което работи една седмица?

Нали вече ти казах, слабо че интересува асимптотичната сложност. Затова и съм дал брой на елементите.

Написано е на Go, скоростта е близка до С.

Тези, на които асимптотичната сложност не им е важна, би трябвало да пишат на асемблер.

Защото скоростта на Go не е "близка до C" - поне 3 пъти е по-бавен. Близки са само "асимптотично" и то условно, а ти казваш, че асимптотиката не те интересува.



  |  Последно редактирано на 21.09.2020 от |, видяно: 1947 пъти. #11317
johnfound
|
johnfound
|

Не трябва да обходя цялото дърво, а само частите които ще доведат по-малка разлика от тази която има е в момента.

Което може и да е цялото дърво, ако минималният елемент е последният. ;-) А средно - половината дърво. Което, както казах не променя асимптотичната сложност на алгоритъма.

А на какъв език е написано това, което работи една седмица?

Нали вече ти казах, слабо че интересува асимптотичната сложност. Затова и съм дал брой на елементите.

Написано е на Go, скоростта е близка до С.

Тези, на които асимптотичната сложност не им е важна, би трябвало да пишат на асемблер.

Защото скоростта на Go не е "близка до C" - поне 3 пъти е по-бавен. Близки са само "асимптотично" и то условно, а ти казваш, че асимптотиката не те интересува.

Ти наистина ли ще ме учиш колко е бавен езика на който пиша? :)

За фантазиите ти как асемблера бил най-бърз вече коментирахме.



  Унуфри  Създадено на 20.09.2020, видяно: 1937 пъти. #11327
|
bvbfan
|
bvbfan

Не, big data на нишки в рама срещу sqlite, разбира се и той може всичко в рама, зависи от кеша. В интерес на истината sqlite бие всякакви nosql лайна и се доближава до напълно данните в рама, ако кеша е достатъчно голям, но печелиш, много по-малко код, кеф ти всякакви заявки.

Т.е. не може да се сравнява с моя код. :)

Какъвто и да е "твоят" код, сравнявам двоични дървета, "твоят" мога да прогнозирам, че не става, ако не е някакво подобие.

Написал съм какъв е моят код. Trie.

Какво има в двоичните дървета?

Чудех се дали да се обадя въобще по тази тема, че ще защитя пайпа сега и ще ме нападнете. Ама няма да ми е сефте :) Преди повече от 15 години, бедни студенти от ФМИ писахме биоинформатични чекии. За търсене на всички възможни подстрингове на дадени термини в ntext в mssql 2000 строяхме външни индекси базирани на tries. Проблемът е, че като ги свриализираш стават гигантски. По онея години си бяха гигабайти и отнемаше много часове да се построят. Деба някъде сигурно имам кода, на. нет 1.1 го писахме... Абе пайп ти да не си кадър на ФМИ на СУ?



  Унуфри  Създадено на 20.09.2020, видяно: 1935 пъти. #11329

Поради липса на едит пиша второ мнение. Само пайпа е в правият път. С останалите решения ще се озорите. Дали ще е подстринг или симиларити е без значение.



  |  Създадено на 20.09.2020, видяно: 1928 пъти. #11334
Унуфри

Чудех се дали да се обадя въобще по тази тема, че ще защитя пайпа сега и ще ме нападнете. Ама няма да ми е сефте :) Преди повече от 15 години, бедни студенти от ФМИ писахме биоинформатични чекии. За търсене на всички възможни подстрингове на дадени термини в ntext в mssql 2000 строяхме външни индекси базирани на tries. Проблемът е, че като ги свриализираш стават гигантски. По онея години си бяха гигабайти и отнемаше много часове да се построят. Деба някъде сигурно имам кода, на. нет 1.1 го писахме... Абе пайп ти да не си кадър на ФМИ на СУ?

Магистърската ми степен е от ФМИ, разбира се. Докторската е от чужбина. :)



  |  Последно редактирано на 21.09.2020 от |, видяно: 1922 пъти. #11339
|

Кода изобщо не е много, в омента не съм вкъщи да проверя, но е под 50 реда С.

Греша, кода ми е около 100 реда.

Другата грешка е броят на стринговете в колекция Б: 23 милиона са.



  Унуфри  Създадено на 21.09.2020, видяно: 1893 пъти. #11346
|
Унуфри

Чудех се дали да се обадя въобще по тази тема, че ще защитя пайпа сега и ще ме нападнете. Ама няма да ми е сефте :) Преди повече от 15 години, бедни студенти от ФМИ писахме биоинформатични чекии. За търсене на всички възможни подстрингове на дадени термини в ntext в mssql 2000 строяхме външни индекси базирани на tries. Проблемът е, че като ги свриализираш стават гигантски. По онея години си бяха гигабайти и отнемаше много часове да се построят. Деба някъде сигурно имам кода, на. нет 1.1 го писахме... Абе пайп ти да не си кадър на ФМИ на СУ?

Магистърската ми степен е от ФМИ, разбира се. Докторската е от чужбина. :)

А така, знайхми чи си от нащи!

Рамбо вие дискретнта математика учихте ли в меито? Запознат ли си с научните трудове на Татко Смърф?



  bvbfan  Последно редактирано на 21.09.2020 от bvbfan, видяно: 1888 пъти. #11347

Ползва lower_bound за сравнение, предполагам. Няма нужда от това да се пишат дължите на стринговете в дб, достатъчно оптимизирана е да си го зададеш в заявка и да ги филтрираш по дължина достатъчно бързо. Що се отнася до Го и сравнимостта със С е смехотворно, като го напишеш на Ръст, ще се съглася, че е същото.

Едит: Забравих да спомена, че sqlite държи резултатите в двуично дърво и реално "отдолу" имаш същото.



  Унуфри  Създадено на 21.09.2020, видяно: 1883 пъти. #11350
bvbfan

Едит: Забравих да спомена, че sqlite държи резултатите в двуично дърво и реално "отдолу" имаш същото.

https://stackoverflow.com/questions/4737904/difference-between-tries-and-trees My link



  Rabin  Последно редактирано на 21.09.2020 от Rabin, видяно: 1881 пъти. #11353
Унуфри

Рамбо вие дискретнта математика учихте ли в меито?

Учихме, ама дори не помня закво ставаше въпрос. Качил съм кашоните на тавана, дето съм снимал лекции и купувал сборници за решаване задачи. Изпадат някви много странни книги, после гледам в дипломата - абе учили сме го. Ама кво е било - ебеш ли му мамата!

Наков е прав като плюе имбецилните дядки дето на програмисти преподават якост на бетона.

Изпадат в смисъл като дууне ветър и падат отгоре, абе много е забавно. Туй беше цялата файда от следването.



  bvbfan  Създадено на 21.09.2020, видяно: 1880 пъти. #11354

Много добре знам разликата :-)



  Унуфри  Създадено на 21.09.2020, видяно: 1875 пъти. #11356
bvbfan

Много добре знам разликата :-)

Защо тогава е "отдолу" е същото ?



  Унуфри  Създадено на 21.09.2020, видяно: 1875 пъти. #11357
Rabin
Унуфри

Рамбо вие дискретнта математика учихте ли в меито?

Учихме, ама дори не помня закво ставаше въпрос. Качил съм кашоните на тавана, дето съм снимал лекции и купувал сборници за решаване задачи. Изпадат някви много странни книги, после гледам в дипломата - абе учили сме го. Ама кво е било - ебеш ли му мамата!

Наков е прав като плюе имбецилните дядки дето на програмисти преподават якост на бетона.

Изпадат в смисъл като дууне ветър и падат отгоре, абе много е забавно. Туй беше цялата файда от следването.

Сефте чувам, че МЕИ-тата имали такава дисциплина, така маловажна спрямо металознанието. Но ако си намериш из кашоните дипломата провери за всеки случай.



  Rabin  Създадено на 21.09.2020, видяно: 1874 пъти. #11358
Унуфри

Сефте чувам, че МЕИ-тата имали такава дисциплина, така маловажна спрямо металознанието. Но ако си намериш из кашоните дипломата провери за всеки случай.

Дискретни структури се казваше, ся се сещам. Не е ли същото? Няква дърта леля ни го водеше, друго не помня.



  bvbfan  Създадено на 21.09.2020, видяно: 1872 пъти. #11362
Унуфри
bvbfan

Много добре знам разликата :-)

Защо тогава е "отдолу" е същото ?

Trie е вид двучино дърво, ако не го специфицираш какъв точно е може да го обобщя като бинарно.



  Унуфри  Създадено на 21.09.2020, видяно: 1870 пъти. #11364
bvbfan
Унуфри
bvbfan

Много добре знам разликата :-)

Защо тогава е "отдолу" е същото ?

Trie е вид двучино дърво, ако не го специфицираш какъв точно е може да го обобщя като бинарно.

Като зубърче от ФМИ да питам - дефиницията на бинарно дърво е такова, което има макс 2 ноуда, което е недостатъчно да се пазят всички възможни подстрингове/близки на даден. Греша ?



  Унуфри  Създадено на 21.09.2020, видяно: 1869 пъти. #11366
Rabin
Унуфри

Сефте чувам, че МЕИ-тата имали такава дисциплина, така маловажна спрямо металознанието. Но ако си намериш из кашоните дипломата провери за всеки случай.

Дискретни структури се казваше, ся се сещам. Не е ли същото? Няква дърта леля ни го водеше, друго не помня.

Не грешиш, но реално са само демо. Ето Библията на Татко Смърф.


0 1 2 3 4 5 ...18 19 20 21 22 ...32 33 34 35 36


Задача НЕ за интервю

  



AsmBB v3.0 (check-in: 7544654b24928b93); SQLite v3.47.0 (check-in: 03a9703e27c44437);
©2016..2024 John Found; Licensed under EUPL; Powered by Assembly language Created with Fresh IDE