Bölüm 11 · Simülasyon

Öncelikli Kuyruk Simülatörü

← Bölüm 11

Hizmet sırası

Heap dizisi

İndisDeğerÖncelikGeliş #Ebeveyn

İşlem geçmişi

  1. Henüz işlem yok.

Öncelikli Kuyruk Simülatörü

Öncelikli kuyruk, geliş sırası ne olursa olsun önce en yüksek öncelikli öğeye hizmet verir. Burada önceliğe göre düzenlenmiş bir max-heap kullanılır; eşit önceliklerde önce gelen (geliş numarası küçük olan) öğe önce hizmet alır.

Kullanım

  • Bir Değer ve Öncelik (0–99) yazıp Ekle (enqueue) düğmesine basın ya da Rastgele Ekle'yi kullanın. En fazla 10 öğe sığar.
  • Çıkar (dequeue) en yüksek öncelikli öğeyi siler; Bak (peek) onu yalnızca gösterir.
  • Önceliği Değiştir, Heap indisi alanındaki konumda duran öğeye Yeni öncelik değerini verir ve heap'i yukarı ya da aşağı süzerek onarır.
  • Örneği Yükle örnek kuyruğu geri getirir, Temizle kuyruğu boşaltır, İptal çalışan işlemi durdurur ve kuyruğu önceki durumuna getirir.

Ekranı okuma

  • Hizmet sırası: öğelerin kuyruktan çıkarılacağı mantıksal sıra.
  • Ağaç ve Heap dizisi aynı veridir: i. öğenin ebeveyni ⌊(i − 1) / 2⌋ indisindedir.
  • İşlem geçmişi son işlemleri listeler.

Karmaşıklık

İşlemZaman
bakma (peek)O(1)
ekleme, çıkarma, öncelik değiştirmeO(log n)