Middle
Ma'lumotlar tuzilmasi kontekstida toshlarning qanday tasniflari mavjud?
sobes.tech AI
AIdan javob
Ma'lumotlar tuzilmasi kontekstida, "xechir" (Heap) odatda ikkilamchi xechir (Binary Heap) tushuniladi, u quyidagi tasniflarga ega:
-
Tartibga solish turiga ko'ra:
- Minimal xechir (Min-Heap): Har bir tugunning qiymati uning bolalar tugunlarining qiymatidan kichik yoki teng. Asosiy tugun minimal element hisoblanadi.
- Maksimal xechir (Max-Heap): Har bir tugunning qiymati uning bolalar tugunlarining qiymatidan katta yoki teng. Asosiy tugun maksimal element hisoblanadi.
-
Daraxtning to'liqligiga ko'ra:
- To'liq ikkilamchi xechir (Complete Binary Heap): Barcha darajalar, ehtimol, oxirgi daraja tashqari, to'liq to'ldirilgan va oxirgi darajadagi tugunlar imkon qadar chapga joylashtirilgan. Bu xususiyat xechirni samarali tarzda massivda saqlash imkonini beradi.
// Konseptsiyani ko'rsatish uchun xechir tuguni uchun struktura misoli public class HeapNode<T> { public T Value { get; set; } // Bolalar tugunlariga havolalar har doim aniq bo'lmasligi mumkin massiv ko'rinishida public HeapNode<T> Left { get; set; } public HeapNode<T> Right { get; set; } }
Garchi Fibonacci xechiri (kengaytirilgan algoritmlar uchun) yoki binom xechiri kabi boshqa turdagi xechirlar mavjud bo'lsa-da, ko'p hollarda, "xechir" atamasi, asosan, keng qo'llanilishi va saralash algoritmlari (masalan, Heapsort) va prioritetli navbatlarda keng qo'llanilishi sababli, minimal yoki maksimal to'liq ikkilamchi xechirga ishora qiladi.