Чи є в цілому черзі пріоритет, який використовує пробіли слів із наступними операціями, і все це в гіршому випадку та без доступу до випадковості:
createEmptyQueue
в для деякої постійної .cinsert
в .deleteMin
в , де \ delta _ {\ min} - різниця між найменшим та другим найменшим ключем.δ хв
Крім того, після того, як ключ зазнає а deleteMin
, усі подальші вставки становлять .
Пов'язані роботи:
"Швидкі локальні пошуки та оновлення в обмежених всесвітах" Бозе та ін. , Які швидше, ніж мені потрібно, deleteMin
але повільніше, ніж мені потрібно insert
.
Brodnik et al., "Найгірший випадок постійної черги пріоритету часу" , який використовує екзотичну "пам'ять Yggdrasil". Для цілей цього питання мене цікавлять більш стандартні цілочисельні моделі ОЗУ.
Броднік та Карлссон "Багатопроцесовий черговий час" , який обмежує вставку елементів із ключами у , де - значення мінімального ключ.
Зауважте, що з хеш-таблицею це досить просто, але для цього використовується амортизація та випадковість:
- Черги - це пари хеш-таблиці ключів та копія мінімального ключа.
insert
додає ключ до хеш-таблиці і, якщо це доречно, оновлює мінімальну копію ключа.deleteMin
шукає мінімальний ключ у хеш-таблиці, потім шукає наступний мінімальний ключ, шукаючи в порядку.