Leetcode 2023
Leetcodeda problems qismida
#leetcode #2023
@elyor_dev
Leetcodeda problems qismida
View Memories kartochkasi qo'shilibdi. 2023 yildagi statistikani ko'rsa bo'lar ekan. Share qilish ham mumkin. #leetcode #2023
@elyor_dev
🔥6
Grokking algorithms
Yuqoridagi [Selection Sort, Recursion, Quick Sort ] postlar "Grokking algorithms" kitobidan olingan. Hozirda ushbu kitobni o'qib chiqyapman. Kitob algoritmlarni boshlovchilar uchun ayni muddao. Nasib bo'lsa har bir bo'limidan ayni kerakli joylarini post qilib chiqaraman. Agar sizga ham qiziq bo'lsa, qo'shiling, kitobni birgalikda ko'rib chiqamiz.
Share qilganlar qattiq qadrlanadi
#grokking_algorithms
@elyor_dev
Yuqoridagi [Selection Sort, Recursion, Quick Sort ] postlar "Grokking algorithms" kitobidan olingan. Hozirda ushbu kitobni o'qib chiqyapman. Kitob algoritmlarni boshlovchilar uchun ayni muddao. Nasib bo'lsa har bir bo'limidan ayni kerakli joylarini post qilib chiqaraman. Agar sizga ham qiziq bo'lsa, qo'shiling, kitobni birgalikda ko'rib chiqamiz.
Share qilganlar qattiq qadrlanadi
#grokking_algorithms
@elyor_dev
⚡2
Merge Sort
Merge sort algoritmi. O'zbekcha nomlanishini bilolmadim. Qisqa qilib aytganda massivni oldin bo'laklarga bo'lib chiqamiz so'ng ularni birlashtirib (merge) chiqamiz. Birlashtirishda massiv elementlari solishtirilib tartiblanadi.
Batafsil
#merge_sort #algorithms
@elyor_dev
Merge sort algoritmi. O'zbekcha nomlanishini bilolmadim. Qisqa qilib aytganda massivni oldin bo'laklarga bo'lib chiqamiz so'ng ularni birlashtirib (merge) chiqamiz. Birlashtirishda massiv elementlari solishtirilib tartiblanadi.
Batafsil
#merge_sort #algorithms
@elyor_dev
👍3
Hash table
Hash table bu — key:value juftligidagi datalarni saqlash uchun yordam beradigan / xizmat qiladigan data strukturalardan biri.
Javanoscriptda uni implementatsiyasi uchun objectlar yoki Map constructori bor.
// Object
// Map
Agar kimdir o'zining shaxsiy Hash table implementatsiyasini qilib ko'rishni xohlasa, mana bu yerda batafsil keltirilgan.
Rasmda esa Hash tabledan foydalanilganda olinadigan big O-notationlar berilgan.
Amaliyotda hash tabledan juda ko'p foydalaniladi.
#hash_table #map #data_structure #algorithms
@elyor_dev
Hash table bu — key:value juftligidagi datalarni saqlash uchun yordam beradigan / xizmat qiladigan data strukturalardan biri.
Javanoscriptda uni implementatsiyasi uchun objectlar yoki Map constructori bor.
// Object
const hash: Record<string, number> = {}
hash['Javanoscript'] = 0
hash['Typenoscript'] = 1
console.log(hash['Javanoscript']) // 0
console.log(hash['Tavanoscript']) // 0// Map
const hash = new Map<string, number>()
hash.set('js', 0)
hash.set('ts', 1)
console.log(hash.get('js')) // 0
hash.delete('js')
console.log(hash.get('js')) // undefined
Agar kimdir o'zining shaxsiy Hash table implementatsiyasini qilib ko'rishni xohlasa, mana bu yerda batafsil keltirilgan.
Rasmda esa Hash tabledan foydalanilganda olinadigan big O-notationlar berilgan.
Amaliyotda hash tabledan juda ko'p foydalaniladi.
#hash_table #map #data_structure #algorithms
@elyor_dev
🔥2
Graphlar
Graph ham data structurelardan biri bo'lib, u bir necha obyektlar o'rtasidagi bog'liqliklarni modellashtiradi.
Masalan yuqoridagi rasmda, aytaylik shahardagi bor bekatlar tasvirlangan. Har bir harf alohida bir bekat. Shunda A bekatdan C bekatga olib boruvchi barcha yo'llar birlashmasini graphlar der ekanmiz.
Graphlar
Graphlarni amaliyotda A nuqtadan B nuqtaga borish uchun barcha yo'llarni topish uchun ishlatsak bo'ladi, xuddi Yandex Map mavjud yo'llarni qurib bergandagi kabi, yoki shashkada yutuqga olib boradigan yo'llarni modellashtirishda ham (Shu misolni kitobdan o'qidim, aynan qanday qilinadi bundan hozircha xabarim yo'q).
#graph #data_structure #algorithm
@elyor_dev
Graph ham data structurelardan biri bo'lib, u bir necha obyektlar o'rtasidagi bog'liqliklarni modellashtiradi.
Masalan yuqoridagi rasmda, aytaylik shahardagi bor bekatlar tasvirlangan. Har bir harf alohida bir bekat. Shunda A bekatdan C bekatga olib boruvchi barcha yo'llar birlashmasini graphlar der ekanmiz.
Graphlar
nodes (tugunlar) va edge (qirra) dan tashkil topgan. Bitta tugun qolgan bir nechta tugunlar bilan to'g'ridan to'g'ri bog'liq bo'lishi mumkin. Rasmdagi E tugun A, B, D tugunlar bilan to'g'ridan to'g'ri bog'langan, va ular E bilan qo'shni . Graphlarni amaliyotda A nuqtadan B nuqtaga borish uchun barcha yo'llarni topish uchun ishlatsak bo'ladi, xuddi Yandex Map mavjud yo'llarni qurib bergandagi kabi, yoki shashkada yutuqga olib boradigan yo'llarni modellashtirishda ham (Shu misolni kitobdan o'qidim, aynan qanday qilinadi bundan hozircha xabarim yo'q).
#graph #data_structure #algorithm
@elyor_dev
👍4
Binary Search
Binary search bu
Taqqoslash uchun biz bilgan linear search (shunchaki massiv boshidan oxirigacha siklda yurib chiqish) tezligi
Aytaylik bizda 4 milliard tartiblangan sonlardan iborat massiv bor. Va ular ichidan berilgan sonning indeksini topishimiz kerak. Va aytaylik shu son massiv oxirida joylashgan ekan (Bu eng yomon holat).
Oddiy linear searchda sikl 4 milliard marta bajarilar edi. Binary Search bilan esa maksimum 32 ta qadamda biz kerakli natijani topa olamiz. 4 milliard vs 32.
Nega 32? Sababi log(4 000 000 000) <= 32.
Logarifm esidan chiqib qolganlar uchun, logarifm sonning teskari darajasi. Masalan: 2^3 = 8 ekvivalent log2(8) = 3
Note: Binary Search bilan ishlay olishlik uchun berilgan massiv albatta tartiblangan bo'lishi kerak.
#binary_search #algorithm
@elyor_dev
Binary search bu
tartiblangan massivda biron bir qiymatni topishlikda juda effektiv bo'lgan search algoritmlaridan biri. Bajarish tezligi - O(logn).Taqqoslash uchun biz bilgan linear search (shunchaki massiv boshidan oxirigacha siklda yurib chiqish) tezligi
O(n). 1000 ta element va eng yomon holatda 1000 ta amal.Aytaylik bizda 4 milliard tartiblangan sonlardan iborat massiv bor. Va ular ichidan berilgan sonning indeksini topishimiz kerak. Va aytaylik shu son massiv oxirida joylashgan ekan (Bu eng yomon holat).
Oddiy linear searchda sikl 4 milliard marta bajarilar edi. Binary Search bilan esa maksimum 32 ta qadamda biz kerakli natijani topa olamiz. 4 milliard vs 32.
Nega 32? Sababi log(4 000 000 000) <= 32.
Logarifm esidan chiqib qolganlar uchun, logarifm sonning teskari darajasi. Masalan: 2^3 = 8 ekvivalent log2(8) = 3
Note: Binary Search bilan ishlay olishlik uchun berilgan massiv albatta tartiblangan bo'lishi kerak.
#binary_search #algorithm
@elyor_dev
👍2⚡1
elyor.dev
Leetcode Oxirgi vaqtlarda ishdan ortib qolgan vaqtimni asosan leetcodega sarf qilyapman. Shuning hisobiga sevimli mobx haqida postlar bo'lmayapti. Nihoyat algoritmlar bo'yicha bilimlarni biroz bo'lsa ham ko'tarib olishga qaror qildim. Bugun ishlangan masalalar…
Leetcode
Bugun leetcodeda ishlangan masalalar soni 500 ga yetdi. Deyarli 1 oy oldin 400 ga yetdi deb post qilgan ekanman.
Qaysidir qismidan boshlab ishlangan masalalarni githubga joylash g'oyasi kelib qolgandi. Yechimlarni shu yerda ko'rish mumkin.
Leetcode profilim
#leetcode #500
@elyor_dev
Bugun leetcodeda ishlangan masalalar soni 500 ga yetdi. Deyarli 1 oy oldin 400 ga yetdi deb post qilgan ekanman.
Qaysidir qismidan boshlab ishlangan masalalarni githubga joylash g'oyasi kelib qolgandi. Yechimlarni shu yerda ko'rish mumkin.
Leetcode profilim
#leetcode #500
@elyor_dev
👍6
Linked List
Linked List mavzusi biroz uzunroq bo'lgani uchun teletypeda batafsilroq yozdim (Telegramdagidan sal ko'proq).
Postni o'qish uchun bosing
#linked_list #data_structure #algorithms
@elyor_dev
Linked List mavzusi biroz uzunroq bo'lgani uchun teletypeda batafsilroq yozdim (Telegramdagidan sal ko'proq).
Postni o'qish uchun bosing
#linked_list #data_structure #algorithms
@elyor_dev
👍3
Forwarded from JR TwitGram 🥂
Telegram
Nuruddin Blogs
O'zbekcha kompaniyalar esingizdami ))
@nuruddinblogs
@nuruddinblogs
⚡3👎1😐1
Ranglarni farqlay olmaydiganlar ham bo'ladida.
A obyekt uchun B qismni topish yo'lida sho'ng'ib A obyektni umuman unutib B qism uchun yashash "maqsaddan adashish"ga kiradi.
Oila uchun ishlab, ish sabab oilani unutmaslik kerak. Boshida maqsad oilani ta'minlash edi, oilani unutish emas.
@elyor_dev
A obyekt uchun B qismni topish yo'lida sho'ng'ib A obyektni umuman unutib B qism uchun yashash "maqsaddan adashish"ga kiradi.
Oila uchun ishlab, ish sabab oilani unutmaslik kerak. Boshida maqsad oilani ta'minlash edi, oilani unutish emas.
@elyor_dev
👍10⚡3❤1
Queue (Navbat)
Queue - data strukturalardan biri. Undagi asosiy qoida "Birinchi kelgan birinchi ketadi", hayotdagi navbat kabi (agar navbatning "o'zbekcha modeli" bo'lmasa, hazil...) .
Rasmlarda Javanoscriptda
1. Massivlar orqali
2. Custom Queue class orqali
Nima uchun qayerda ishlatishimizni keyingi postlarda ko'rsatib ketaman nasib bo'lsa.
#queue #data_structure #algorithms #grokking
@elyor_dev
Queue - data strukturalardan biri. Undagi asosiy qoida "Birinchi kelgan birinchi ketadi", hayotdagi navbat kabi
Rasmlarda Javanoscriptda
Queue bilan ishlashning ikki xil yo'li keltirilgan. 1. Massivlar orqali
2. Custom Queue class orqali
Nima uchun qayerda ishlatishimizni keyingi postlarda ko'rsatib ketaman nasib bo'lsa.
#queue #data_structure #algorithms #grokking
@elyor_dev
Breadth First Search (BFS)
BFS algoritmini asosan bir nuqtadan ikkinchi nuqtaga borib bo'lishini yoki bir nuqtadan ikkinchi nuqtaga olib boruvchi eng kichik yo'lni topish uchun ishlatamiz.
1 - rasmda bir nechta nuqtalardan tashkil topgan graph keltirilgan.
2 - rasmda esa BFS algoritmi bir nuqtadan ikkinchi nuqtaga olib boruvchi eng kichik yo'lni ko'rsatish uchun yozilgan.
P.S. Bitta post oldin yozilgan Queue class ishlatilgan, unga size() method qo'shildi, commentda qoldiraman.
To'liqroq o'qish uchun.
#bfs #algorithms #grokking
@elyor_dev
BFS algoritmini asosan bir nuqtadan ikkinchi nuqtaga borib bo'lishini yoki bir nuqtadan ikkinchi nuqtaga olib boruvchi eng kichik yo'lni topish uchun ishlatamiz.
1 - rasmda bir nechta nuqtalardan tashkil topgan graph keltirilgan.
2 - rasmda esa BFS algoritmi bir nuqtadan ikkinchi nuqtaga olib boruvchi eng kichik yo'lni ko'rsatish uchun yozilgan.
P.S. Bitta post oldin yozilgan Queue class ishlatilgan, unga size() method qo'shildi, commentda qoldiraman.
To'liqroq o'qish uchun.
#bfs #algorithms #grokking
@elyor_dev
⚡1👍1
Forwarded from Ayyubxon Fargʻoniy | 0.1x engineer (Ayyubxon)
Eng qiziq narsa nimada, bilasizmi?
Aksariyat Reactchilarimiz, oʻzim ham bir yildan ortiq performancega oid mavzuda noʻnoq edim (hozir ham yaxshiman demayman).
Shu mavzuda postlar qoʻysam koʻpchilik qiziqmaydi, kanaldan bir nechtalab boʻlib chiqib ketishadi.
Sizni juniordan middlega koʻtaradigan muhim mavzulardan biri bu performance in React apps boʻladi.
React qanday ishlashini, dasturni tezlatishni bilmaydigan, uni sekinlatadigan sabablarni tushunmaydigan, tezlikka yechim berolmaydigan dasturchi middle darajada emas deb oʻylayman, u hatto lokal kompaniyada boʻlsa ham.
Qaygʻuradiganim 10+ auditoriya emas, shunchaki bilimga chanqoqlik yoʻqligi.
Ravshan akani videolari koʻrishlar soni 100ta boʻlib yotibdi, tekin resurs, qiziqib savol berishlar yoʻq, yurakda oʻt yoʻq, koʻzlar chaqnamaydi, kun oʻtishga yurgandek koʻpchilik.
Ammo oʻquv markazlarga oyiga 1.3 million soʻm toʻlab oʻqishadi, vaholanki birorta oʻquv markazdagi mentor Ravshan akani yoniga yaqinlasha olmaydi, istasa mana man deb kelsin, isbotlab beraman.
Ilmga borini bermaguncha ilm hech nima bermaydi. Ishtiyoq boʻlmas ekan, pulni toʻlab, ishga kirishni oʻquv markazdan talab qilishdan nariga oʻtmay yuraveramiz.
Ishtiyoq yoʻq, koʻzlar chaqnamaydi, yurakda olov yoʻq.
Aksariyat Reactchilarimiz, oʻzim ham bir yildan ortiq performancega oid mavzuda noʻnoq edim (hozir ham yaxshiman demayman).
Shu mavzuda postlar qoʻysam koʻpchilik qiziqmaydi, kanaldan bir nechtalab boʻlib chiqib ketishadi.
Sizni juniordan middlega koʻtaradigan muhim mavzulardan biri bu performance in React apps boʻladi.
React qanday ishlashini, dasturni tezlatishni bilmaydigan, uni sekinlatadigan sabablarni tushunmaydigan, tezlikka yechim berolmaydigan dasturchi middle darajada emas deb oʻylayman, u hatto lokal kompaniyada boʻlsa ham.
Qaygʻuradiganim 10+ auditoriya emas, shunchaki bilimga chanqoqlik yoʻqligi.
Ravshan akani videolari koʻrishlar soni 100ta boʻlib yotibdi, tekin resurs, qiziqib savol berishlar yoʻq, yurakda oʻt yoʻq, koʻzlar chaqnamaydi, kun oʻtishga yurgandek koʻpchilik.
Ammo oʻquv markazlarga oyiga 1.3 million soʻm toʻlab oʻqishadi, vaholanki birorta oʻquv markazdagi mentor Ravshan akani yoniga yaqinlasha olmaydi, istasa mana man deb kelsin, isbotlab beraman.
Ilmga borini bermaguncha ilm hech nima bermaydi. Ishtiyoq boʻlmas ekan, pulni toʻlab, ishga kirishni oʻquv markazdan talab qilishdan nariga oʻtmay yuraveramiz.
Ishtiyoq yoʻq, koʻzlar chaqnamaydi, yurakda olov yoʻq.
🔥9
React + Mobx replaces a big Angular project...
Mobx topligini Microsoft'dagilar ham sezib qolishibdi...)
#mobx #top
@elyor_dev
Mobx topligini Microsoft'dagilar ham sezib qolishibdi...)
#mobx #top
@elyor_dev
👍3😱2
Dijkstra's Algorithm
Dijkstra algoritmi vaznli (weighted) graphlardagi bir nuqtadan boshqa nuqtasigacha bo'lgan eng kichik masofani topishlikda ishlatiladi.
Kod hajmi kattaroq bo'lgani sabab postni teletype'da yozib qo'ya qoldim.
Postga link - https://teletype.in/@elyor_dev/dijkstra_algorithms
#dijkstra_algorithms #algorithms #grokking
@elyor_dev
Dijkstra algoritmi vaznli (weighted) graphlardagi bir nuqtadan boshqa nuqtasigacha bo'lgan eng kichik masofani topishlikda ishlatiladi.
Kod hajmi kattaroq bo'lgani sabab postni teletype'da yozib qo'ya qoldim.
Postga link - https://teletype.in/@elyor_dev/dijkstra_algorithms
#dijkstra_algorithms #algorithms #grokking
@elyor_dev
👍2
Forwarded from Ayyubxon Fargʻoniy | 0.1x engineer (Ayyubxon)
2024-yilda React o'rganishga arziydimi?
Ha, arziydi, hatto uchchalasi o'rtasida, ikkita eng yaqin raqobatchisini downloadsni qo'shib, 2ga ko'paytirilsa ham Reactga yaqinlay olishmaydi.
Reactni o'rganavering, u hali ham trendda.
p.s. Anavi pastda emaklab yurgan ko'k rangli chiziq Angular downloads)
Ha, arziydi, hatto uchchalasi o'rtasida, ikkita eng yaqin raqobatchisini downloadsni qo'shib, 2ga ko'paytirilsa ham Reactga yaqinlay olishmaydi.
Reactni o'rganavering, u hali ham trendda.
p.s. Anavi pastda emaklab yurgan ko'k rangli chiziq Angular downloads)
👍6⚡3🌚1
Bellman Ford Algorithm
Agar weighted graph'larda manfiy son bo'lsa, u holda bir nuqtadan boshqa nuqtagacha bo'lgan masofani Dijkstra's algorithm bilan hisoblab bo'lmaydi. Shunday vaziyatda Bellman Ford Algoritmi yordamga keladi.
Algoritm va uning codedagi implementatsiyasi haqida shu yerda [link] o'qish mumkin.
#bellman_ford #algorithm #grokking
@elyor_dev
Agar weighted graph'larda manfiy son bo'lsa, u holda bir nuqtadan boshqa nuqtagacha bo'lgan masofani Dijkstra's algorithm bilan hisoblab bo'lmaydi. Shunday vaziyatda Bellman Ford Algoritmi yordamga keladi.
Algoritm va uning codedagi implementatsiyasi haqida shu yerda [link] o'qish mumkin.
#bellman_ford #algorithm #grokking
@elyor_dev
❤🔥1
NP complete problems
NP (nondeterministic polynomial time) complete problems - amaliyotda aniq yechimini topish uchun juda ko'p vaqt (amaliyotda imkonsiz) talab etiladigan, yoki aniq yechimini topib bo'lmas masalalarga aytiladi.
Bunday turdagi masalalarda masalaning aniq javobini hisoblash uchun juda ko'p vaqt (amaliyotdan imkonsiz) talab etilgani sabab masalani yechishda
NP complete problems haqida to'liqroq o'qish uchun shu [linkga] bosing.
#np #np_hard #np_complete #algorithms #grokking
@elyor_dev
NP (nondeterministic polynomial time) complete problems - amaliyotda aniq yechimini topish uchun juda ko'p vaqt (amaliyotda imkonsiz) talab etiladigan, yoki aniq yechimini topib bo'lmas masalalarga aytiladi.
Bunday turdagi masalalarda masalaning aniq javobini hisoblash uchun juda ko'p vaqt (amaliyotdan imkonsiz) talab etilgani sabab masalani yechishda
approximation algorithms (taxminiy algoritmlar) dan foydalanib aniq javobga yaqinroq bo'lgan javoblar olinadi, bunda masalani yechish vaqti anchaga qisqaradi. NP complete problems haqida to'liqroq o'qish uchun shu [linkga] bosing.
#np #np_hard #np_complete #algorithms #grokking
@elyor_dev
⚡4