Forwarded from Tune Hunt Bot
Saad Lamjarred Enty
BiG Boom TV
Heap / Priority Queue — ma’lumotlarni ustuvorlik asosida saqlashga xizmat qiladigan ma’lumot tuzilmasi.
Unda elementlar oddiy navbat kabi emas, balki muhimligiga qarab joylashadi.
Priority Queue’da eng katta yoki eng kichik qiymat har doim birinchi olinadi.
Heap esa shu jarayonni samarali ishlashi uchun ishlatiladigan daraxtsimon tuzilma hisoblanadi.
Asosiy turlari:
• Max Heap — eng katta element tepada bo‘ladi
• Min Heap — eng kichik element tepada bo‘ladi
Masalan:
Telegram’da eng muhim notification’lar yuqorida chiqishi,
operatsion tizimdagi task scheduling,
yoki Dijkstra algoritmida eng qisqa yo‘lni topish — bularning barchasida Priority Queue ishlatiladi.
Heap’ning kuchi — tezlikda.
Element qo‘shish va olish odatda O(log n) vaqt oladi.
Katta sistemalar ortida ko‘pincha oddiy ko‘rinadigan, ammo juda kuchli data structure’lar ishlaydi.
Heap ham shularidan biri.
#devspaceuz
🆒1
🚀 Binary Tree (Ikkilik Daraxti)
Dasturlash bo‘yicha texnik intervyularda Binary Treega oid masalalar juda ko‘p uchraydi. Ko‘pchilik har safar yangi algoritm o‘ylab topishga harakat qilib xato qiladi. Aslida esa, daraxtga oid masalalarning 90% qismini atigi 3-4 ta tayyor shablon yordamida hal qilish mumkin!
Keling, har bir dasturchi bilishi shart bo‘lgan asosiy shablonlarni ko‘rib chiqamiz:
1️⃣ Depth-First Search (DFS) / Rekursiya
DFS — daraxtning eng tubigacha tushib, keyin tepaga qaytish usuli. U asosan 2 xil ko‘rinishda bo‘ladi:
Pastdan-Tepaga (Bottom-Up): Bola tugunlardan (children) ma'lumotni yig‘ib, tepaga qaytaradi.
Qachon ishlatiladi: Daraxt balandligini topish, muvozanatni tekshirish (Maximum Depth, Balanced Tree).
Tepadan-Pastga (Top-Down): Ota tugundan olingan holat yoki qiymatni bola tugunlarga uzatadi.
Qachon ishlatiladi: Yo‘llar yig‘indisini hisoblash (Path Sum, Validate BST).
2️⃣ Breadth-First Search (BFS) / Level-Order
Daraxtni qavatma-qavat (darajama-daraja) bosib o‘tish usuli. Buning siri — Queue (Navbat) ma'lumotlar tuzilmasidan foydalanishda.
Dart
// BFS Shablonining umumiy ko'rinishi
while (queue.isNotEmpty) {
int levelSize = queue.length; // joriy qavatdagi elementlar soni
for (int i = 0; i < levelSize; i++) {
var currentNode = queue.removeFirst();
// Elementni qayta ishlash logikasi shu yerda bo'ladi
if (currentNode.left != null) queue.add(currentNode.left);
if (currentNode.right != null) queue.add(currentNode.right);
}
}
Qachon ishlatiladi: Daraxtni qavatma-qavat chop etish, eng qisqa yo‘lni topish (Level Order Traversal, Right Side View).
3️⃣ Binary Search Tree (BST) Shablonlari
BST shunday tuzilganki, har bir tugun uchun: Chap tomondagi qiymatlar < Tugun qiymati < O‘ng tomondagi qiymatlar. Bu bizga har safar daraxtning yarmini tashlab ketish imkonini beradi (Vaqt murakkabligi: O(logn)).
Agar qidirayotgan qiymatimiz joriy tugundan kichik bo‘lsa ➡️ Chapga yuramiz.
Katta bo‘lsa ➡️ O‘ngga yuramiz.
#devspaceuz
🆒1
Curious coder
save ai tokens by 50% 👇 https://github.com/juliusbrussee/caveman
Vibe coder bolajonlar uchun bu yaxshi codex ishlatgandan ko'ra
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝1
Claude Code ishlatganingizda Mac sekinlashganini sezdizlarmi? 🤔
Men ishlatib ko‘rganimda qiziq holatga duch keldim. Mac qizib ketmadi, lekin tizim biroz sekinlashgandek tuyuldi.
Sababi oddiy: Claude faqat javob yozmaydi. U loyiha fayllarini o‘qiydi, kod bazasini tahlil qiladi, qidiruvlar qiladi va kontekst yig‘adi. Katta loyiha bo‘lsa, bu jarayonlar CPU va RAM’dan sezilarli foydalanishi mumkin.
Shuning uchun:
1) Terminal buyruqlari ko‘payadi.
2)CPU yuklanishi ortadi.
3)Ba'zi ilovalar odatdagidan sekinroq ishlashi mumkin.
4)Shu yetmay turuvdi...
P/S: Nega eski macimni almashtirdim onasini emsin
#devspaceuz
Curious coder
Ёшлигимда илимга чанкок талаба булган еканим 😂
Шулани хаммасини биринчи курсимда укиганман ехх хозир бита Английский учун Тугри вакт ёк ман дангаса булдимов
🤝1🫡1
Shuncha talaba umid bilan kelgan …
P/s: Barbir sani hichkim ishga omaydi kompaniya statusi uchunbu 😂
P/s: Barbir sani hichkim ishga omaydi kompaniya statusi uchunbu 😂
😁2