Есть ли в очереди с целочисленным приоритетом, которая использует слов пробела со следующими операциями, все в наихудшем времени и без доступа к случайности:
createEmptyQueue
в для некоторой константы с .insert
в .deleteMin
δ мин
Кроме того, после того как ключ был подвергнут воздействию a , все дальнейшие вставки имеют значение .> кdeleteMin
Связанных с работой:
«Быстрый локальный поиск и обновление в ограниченных вселенных» Бозе и др., Который работает быстрее, чем мне нужно, deleteMin
но медленнее, чем мне нужно insert
.
Бродник и др. «Очередь с наименьшим временем с постоянным приоритетом» , в которой используется экзотическая «память Иггдрасиля». Для целей этого вопроса меня интересуют более стандартные целочисленные модели оперативной памяти.
«Многопроцессная временная очередь» Бродника и Карлссона , которая ограничивает вставку элементами с ключами в , где - значение минимума ключ.k min
Обратите внимание, что это довольно просто с хеш-таблицей, но она использует амортизацию и случайность:
- Очереди - это пары хеш-таблицы ключей и копия минимального ключа.
insert
добавляет ключ в хеш-таблицу и обновляет минимальную копию ключа, если это необходимо.deleteMin
ищет минимальный ключ в хеш-таблице, а затем ищет следующий минимальный ключ, ища по .