Bölüm 11 · Simülasyon

İkili Heap Simülatörü

← Bölüm 11

Dizi gösterimi

Örnek max-heap yüklendi. Bir işlem seçin.

İkili Heap Simülatörü

İkili heap, dizide saklanan tam ikili ağaçtır. Max-heap'te her ebeveyn çocuklarından küçük değildir (min-heap'te büyük değildir); bu yüzden kökte en büyük (en küçük) değer bulunur.

Kullanım

  • Heap türü max-heap ile min-heap arasında geçiş yapar.
  • Ekle değeri ekler; Kökü Çıkar kökü siler; Köke Bak kökü yalnızca okur.
  • Heap Oluştur virgülle ayrılmış değerlerden heap kurar; Rastgele heap'i rastgele değerlerle doldurur; Heap Sort diziyi yerinde sıralar.
  • Sıfırla heap'i boşaltır; İptal animasyonu durdurur ve heap'i önceki durumuna getirir.

İndis aritmetiği (0 tabanlı)

ebeveyn(i) = ⌊(i − 1) / 2⌋, sol(i) = 2i + 1, sağ(i) = 2i + 2.

İşlemler

  • Ekleme: değer sona yerleştirilir, ebeveyninden üstün olduğu sürece yukarı süzülür (up-heap).
  • Çıkarma: son öğe köke taşınır, ardından üstün çocukla takas edilerek aşağı süzülür (down-heap).
  • Heap oluşturma (aşağıdan yukarıya): ⌊n/2⌋ − 1'den 0'a kadar her iç düğüm aşağı süzülür.
  • Heap sort: kök, heap'in son öğesiyle takas edilir, heap bir küçülür, yeni kök aşağı süzülür; bu tekrarlanır.

Karmaşıklık

İşlemZaman
köke bakma (peek)O(1)
ekleme, çıkarmaO(log n)
heap oluşturmaO(n)
heap sortO(n log n), yerinde