Heap kosulu kok veya ara dugumde bozuldugunda elemani cocuklariyla karsilastirarak asagi indiren onarim islemidir.
Kaynaklarda pushdown/downheap, heap remove ve heap construction islemlerinin ortak cekirdegi olarak anlatilir. Eleman uygun cocukla yer degistire degistire heap kosulunun tekrar saglandigi seviyeye iner.
Downheap / Pushdown için pseudo koddan türetilmiş örnek uygulama iskeletleri aşağıda verilmiştir. Gerçek projelerde veri modeli ve hata kontrolleri probleme göre özelleştirilmelidir.
1/**2 * Downheap / Pushdown implementation outline3 */4function downheapPushdown(input) {5 // Implement the pseudo code above for your concrete input model.6 // Keep intermediate states visible while testing.7 return {8 input,9 algorithm: 'Downheap / Pushdown',10 complexity: 'O(log n)',11 };12}Aşağıya kendi verilerinizi girerek Downheap / Pushdown akışını örnek bir demo üzerinde izleyebilirsiniz. Virgülle ayrılmış değerler girin veya JSON dizi formatı kullanın.
Girilen veri, algoritmanın temel adımlarına göre örnek bir izleme çıktısına dönüştürülür.
En İyi Durum: O(log n)
Ortalama Durum: O(log n)
En Kötü Durum: O(log n)
O(1) - Giriş boyutu ne olursa olsun, algoritma her zaman aynı sürede çalışır.
Aynı kategori veya aynı problem ailesinde değerlendirilebilecek diğer algoritmalar: