Uyum (Heap) — bu to‘liq ikkilik daraxt bo‘lib, unda har bir ota tugun o‘zining farzand tugunlaridan kichikroq (min-heap) yoki kattaroq (max-heap) bo‘ladi. U massiv ko‘rinishida saqlanadi.
Massiv va daraxt orasidagi moslik (indekslash 0 dan boshlanadi):
i tugunning ota tuguni: Math.floor((i - 1) / 2)
i tugunning chap farzandi: 2 * i + 1
i tugunning o‘ng farzandi: 2 * i + 2
Amallar:
insert: oxiriga qo‘shish, yuqoriga ko‘tarish (bubble up) — O(log n)
extractMin: ildizni o‘chirish, pastga tushirish (bubble down) — O(log n)
peek: ildiz qiymatini qaytarish — O(1)
Qo‘llanilishi:
- Ustuvor navbatlar (Priority Queues)
- Uyumli saralash (Heap Sort)
- Dijkstra algoritmi
- k-chi eng kichik yoki eng katta elementni topish
O'xshash algoritmlar
Ko'p beriladigan savollar
- Uyum (Min Heap) nima?
- Uyum (Heap) — bu to‘liq ikkilik daraxt bo‘lib, unda har bir ota tugun o‘zining farzand tugunlaridan kichikroq (min-heap) yoki kattaroq (max-heap) bo‘ladi. U massiv ko‘rinishida saqlanadi.
- Uyum (Min Heap) murakkabligi qanday?
- Uyum (Min Heap) bosqichma-bosqich vizualizatsiya hamda vaqt va xotira murakkabligi tahlili bilan tushuntiriladi.
- Ushbu Uyum (Min Heap) vizualizatori kimlar uchun?
- Uyum (Min Heap) vizualizatsiyasi "Ma'lumotlar tuzilmalari" kategoriyasida o'rta darajadagi o'rganuvchilar uchun mo'ljallangan. Talabalar, texnik suhbatlarga tayyorgarlik va amaliy takrorlash uchun foydali.
- Uyum (Min Heap) ga o'xshash qanday algoritmlar bor?
- Shu kategoriyada (Ma'lumotlar tuzilmalari) quyidagilarni ko'rishingiz mumkin: Stack, Queue, Linked List. Har biri interaktiv vizualizatsiyaga ega.