Aşağıdaki işlemlerle sözcüklerini kullanan , en kötü durumda ve rasgele erişime sahip olmayan bir tamsayı öncelik kuyruğunda var mı :
createEmptyQueue
içerisinde için bir sabit .cinsert
içerisinde .deleteMin
içerisinde , burada \ ö _ {\ dak} küçük ve en küçük ikinci anahtar arasındaki farktır.Δ dk.
Ayrıca, k anahtarına a tabi tutulduktan sonra deleteMin
, diğer tüm kesici uçlar .
Alakalı iş:
Bose et al. "Sınırlı Evrenlerde Hızlı Yerel Arama ve Güncellemeler" , ihtiyacımdan daha hızlı deleteMin
ama ihtiyacımdan daha yavaş insert
.
Brodnik ve arkadaşları , egzotik "Yggdrasil hafızasını" kullanan "En kötü durum sabit zaman önceliği kuyruğu ". Bu sorunun amaçları için, daha standart tamsayı RAM modelleri ile ilgileniyorum.
Brodnik ve Karlsson'un anahtarları (k _ {\ min}, k _ {\ min} + \ delta _ {\ min}] olan öğelere eklemeyi sınırlayan "Çok İşlemcili Zaman Kuyruğu" , burada minimum değerdir tuşuna basın.
Bunun karma tablo ile oldukça basit olduğunu, ancak amortisman ve rasgelelik kullandığını unutmayın:
- Kuyruklar, karma anahtar tablosunun çiftleri ve minimum anahtarın bir kopyasıdır.
insert
anahtarı karma tabloya ekler ve gerekirse minimum anahtar kopyasını güncelleştirir.deleteMin
hash tablosundaki minimum anahtarı arar, ardından sırayla arayarak bir sonraki minimum anahtarı arar .