WALKER

Dasturchi, frilanser, gik va introvert

by Sherzod Shermukhamedov

Ternary search tries

Binary search tree

Ternary search tries (TST, uçlamçi qidiruv trie) R-way tries'dagi kamçilikka yeçim ölaroq tavsiya etiladi. TSTda belgilar indeks körinişida emas, node içida saqlanadi (R-way tries'da belgilar indeks nomer sifatida saqlanardi). Şuningdek har bir node uç çild'ga ega: kiçikroq (çap), teng (örtada), kat

by Sherzod Shermukhamedov

R-way tries

Binary search tree

Uşbu mavzu string key'lar qidiruvi uçun möljallangan ma'lumotlar tuzilmasi - tries (trays) haqida böladi. Şu vaqtgaça körib ötgan ma'lumotlar tuzilmalaridan qidiruv uçun eng yaxşisi red-black tree - key'ni qidiriş / qöşiş / öçiriş uçun O(log N) vaqtni kafolatlardi.

by Sherzod Shermukhamedov

Suffix array va matnni suffix array'da qayta işlaş

maxresdefault

Bizga N belgiga ega matndan sözni qidirib, barça sözlarni topiş kerak bölsin. Töğri, sözni topadigan tayyor sub-string funksiyalar allaqaçon mavjud. Ammo texnik intervyu jarayonida qöyiladigan masalada tayyor funksiyadan foydalanmaslik kerak böladi. Bunda odatiy yeçim - brute-force algoritmi yordami

by Sherzod Shermukhamedov

3-way Radix Quicksort

Sorting

Dijkstra'ning 3-way partitioning quicksort algoritmi bilan tanişib çiqqan bölsangiz kerak. U quicksort'dagi bir xil key'lar uçragan holatida işlaş vaqti ortişini oldini oladi. Biz 3-way quicksort'ga qaytamiz, bu safar böluvçi element - pivot'ni key belgilaridan olamiz.

by Sherzod Shermukhamedov

MSD Radix sort

Sorting

LSD Radix sort'da string key'larni öngdan çapga tartiblab borgan edik. Albatta, çapdan öngga ham tartiblab borişning ham imkoni bor. Buning uçun röyhatdagi key'larning boş harfi (belgisi) böyiça tartiblaymiz (Key indexed counting).

by Sherzod Shermukhamedov

LSD Radix sort

Sorting

Biz ötgan maqolada körib ötganimiz - key indexed counting tartiblaş boşqa algoritmlar uçun asos bölib xizmat qiladi. Şu jumladan, LSD (Least Significant Digit) radix sort algoritmi key indexed counting usulini bir xil uzunlikdagi tartiblanadigan string yoki integer qiymatlarning har bir belgisiga qö

by Sherzod Shermukhamedov

Ford-Fulkerson algoritmini kodda ifodalaş

image-from-rawpixel-id-434500-jpeg

Maximum flow'ni topiş jarayonida, ba'zida yeçimga erişiş uçun allaqaçon berilgan flow'ni kamaytiriş hisobiga boşqa (parallel) edge'da flow'ni oşiriladi. Inson közi bilan körib, qaysi flow'ni kamaytiriş, qaysi flow'ni oşirişni özi aniqlab olişi mumkin, lekin kodda nima qilişni qanday ifodalaymiz?

by Sherzod Shermukhamedov

Digraph'da minimum cut va maximum flow masalalari

Minimum cut va maximum flow

Graph processing masalalarini örganişni davom ettiramiz. Minimum cut - graph'ni ikkiga şunday böliş kerakki, uning böliniş edge'lari bir-biriga eng kam (kuçsiz) boğlangan joyi bölsin. Oddiyroq aytganda, graph'ni ikkiga böliş uçun eng kam harajat / kuç talab etilsin.