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