elyor.dev – Telegram
elyor.dev
292 subscribers
97 photos
3 videos
84 links
- Shaxsiy fikrlar hammasi ham to'g'ri bo'lmasligi mumkin

© Elyor Shodiyorov
Download Telegram
Binary Search

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
👍21
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
👍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
👍3
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
👍1031
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 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
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.
🔥9
React + Mobx replaces a big Angular project...

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
👍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)
👍63🌚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
❤‍🔥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 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
Forwarded from Islombek.dev
Juma kuni duolar ijobat bo'ladigan bir vaqt bor deb keltiriladi, ba'zi ulamolar o'sha vaqt asr namozidan shom namoziga bo'lgan vaqt deyishadi.

Bugun, shunday imkoniyatimizdan foydalanib zolimlardan zulm ko'rayotgan barcha musulmon birodarlarimizga duo qilib qo'yaylik. Nafaqat Falastin balki doim unutiladigan Sharqiy Turkistondagi Uyg'ur qardoshlarimizni ham.

Qolgan vaqtlarda ham imkon boricha duoda bo'lishga harakat qilaylik aynan hozir qo'limizdan keladigan eng katta ishlardan biri shu bo'lib turipti.
7👍43
Forwarded from Programming ∀
Kompaniya bu insonlar !

Shunday fikrlar prosto ko'ngilni aynitadi :) Ko'pincha kompaniya madaniyati, qadiryatlari haqidagi safsatalar shunaqa absurtlardan boshlanadi :) Shu orqali emotsiyalaringizni jlovlashadi va qulog'ingizga yaxshilab tepishadi...

Activitylar... Juda ko'plab kompaniyalar turli ko'rinishda g'alati activitylar va eventlar o'tkazishadi. Bundaylar orasida foydali yaxshilari ham bor albatta. Ammo bunday strategiya asosan tashqariga marketing bo'lib xizmat qiladi. Bu anchagina universal piar instrument hayiryadan torib qandaydir birnasa firendlylargacha...
1. Ishchilarni hunting qilish oson bo'ladi. Chunki odamning ko'ziga hamma narsa ideal va chiroyli ko'rinadi tashqaridan.
2. Investitsiya jalb qilishga katta foyda beradi :)
Bu amaliyotning absurtligi shundaki ichkaridagi molhona tashqariga megopolis qilib ko'rsatiladi.

Tili bor qo'li yo'q management. Bunday holatda barcha ishlar shunchaki hojako'rsinga qilinadi. Ozgina qilingan ishham bo'rttirib ko'rastilinadi. Managerlar esa faqat meetinglarda aralashib yuraveradi. Ularning ishlarini ham quyirodagi roledagilar yoki undan ham quyiroqdagilar qilishadi. Absurtligi shundaki managerlar umuman contextni tushunmaydi. Texnik bilimga ega bo'lgan managerlarga o'z ishlarni qildiradilar :)

Meetingbozliklar - Ko'pchilik conversationlar olib borish ko'niklmalariga ega bo'lmaydilar. Insonlar bilan suxbatlashishni ham eplay olmaydilar. Shu sababdan biror context yuzasidan kerak bo'lsa soatlab yoki birnecha marotaba meetingbozlik qilishadi. Absurtlik shundaki ularning qanadydur yetishmayotgan skillarini deb boshqalar jabr ko'radi bekorga vaqt o'tadi.

Top managment. Ha doyimgiday baliq boshidan sasiydi. Huddi shu gapga mos top managerlar tufayli juda absurt org structure quriladi. Juda sodda misoli grading tizimining umuman yo'q ekanini keltirsak bo'ladi. Masalan hodim growup qilmoqchi. Hosh bunga qanday yechimlar bor ?
Nazarimda eng minimal holatda biror hodimni promote qilishga aloqador reglamentlar bo'lishi kerak. Masalan:
Salom Mening ismim Toshmad, Xozirda X positionda ishlayman fa Y positionga levelup qilmoqchiman !
Shunday holatda eng minimal holatda. Y position denoscriptioni bo'lishi shart shu asosida aniq requirementlar qilinadi. Hodim loyiq bo'lsa promotion qilinadi bo'lmasa feedback. Masalan siz bu yilda N ta muammoni hal etibsiz. Ammo requiremetdagi asosiy punkt M muammoni hal etgan bo'lishlik sababi ushbu roleda muammolar ko'lami P ta bo'ladi. Shu o'rinda sizdagi Z ko'rsatkichlari pastroq chiqyabti. Ushbu kriteriyalargai muammolaringizni hal etib falon vaqtdan kegin qayta urinishingiz mumkin.
Etibor qiling bu yerda complex ideal levleuplar haqida emas balki aniq talablar asosidagi oddiy leveluplarga etibor qaratildi. Kegin hodimni o'qitish o'qitmaslik haqida ham gapirmadim. Eng minimal ko'rinishni aytdim :)

Davomi bor...
👍4
Forwarded from Josh*Developer
Azizlar, markazimizda eng birinchi ochiladigan kurs bu ko'pchilik izlab yurgan, "JS, TS va Angular" nomli kurs.

Bozorga sifatli Angular dasturchilaridan ham chiqaraylik :)

Kim qatnashish niyati bo'lsa, quyidagi formani to'ldirsin. Joylar cheklangan. Biz birma-bir bog'lanib chiqamiz tez kunlarda.
InshaaAlloh

Forma link: https://forms.gle/3uJPjYLoEP2zspWy5

Bozorga birinchi bitiruvchilardan bo'lib chiqishni ustunliklari katta. Shoshiling-da xullas. 😅

@JoshDeveloper
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Depth First Search (DFS)

DFS ni vizuallashtirishga harakat qilib ko'rdim. To'liq codeni [shu link] orqali ko'rishlik mumkin.

DFS haqida to'liqroq [shu yerda]

#dfs #algorithms #grokking

@elyor_dev
👍1
Forwarded from Vector IT Academy
Kutilayotgan jonli onlayn kurslar roʻyxati👇

1. JS, TS va Angular
2. “Algorithms” va “Data structures”
3. UI/UX Design
4. Frontend 0 dan
5. English for IT
6. Project Management
va hokazo

👉 @vector_academy_uz
👍9
Maslahat

Yaxshi dasturchi bo'lish uchun birinchi qadam - ma'lumotni to'g'ri izlashni o'rganish. Google, ChatGpt, kitoblar. Umuman bu borada hozirgi davrda imkoniyatlar juda keng. Muammo tug'ildimi? Google qiling, doim birinchi qiladigan ishinggiz shu bo'lsin. Chatlarda yoki shaxsiyda yaqinlarizni yoki yaqin bo'lmaganlarni qiynamang. Hamma uchun o'z vaqti qadrli ekanligini unutmang.

#maslahat

@elyor_dev
👍19🔥4