Esiste una coda con priorità intera che utilizza parole di spazio con le seguenti operazioni, tutte nel peggiore dei casi e senza accesso alla casualità:
createEmptyQueue
in per una costante c .insert
in .deleteMin
in , dove δ min è la differenza tra la chiave più piccola e la seconda più piccola.
Inoltre, una volta che una chiave è stata soggetta a a , tutti gli altri inserti sono > k .deleteMin
Lavoro correlato:
Bose et al "fast ricerche locali e aggiornamenti in Bounded universi". , Che è più veloce di quello che serve per deleteMin
ma più lento di cui ho bisogno per insert
.
"La peggiore coda con priorità temporale costante" di Brodnik et al. , Che utilizza l'esotica "memoria Yggdrasil". Ai fini di questa domanda, sono interessato a modelli di RAM interi più standard.
"Coda temporale multiprocesso" di Brodnik e Karlsson , che limita l'inserimento di elementi con chiavi in , dove k min è il valore della chiave minima.
Si noti che questo è piuttosto semplice con una tabella hash, ma che utilizza l'ammortamento e la casualità:
- Le code sono coppie di una tabella di chiavi hash e una copia della chiave minima.
insert
aggiunge la chiave alla tabella hash e aggiorna la copia minima della chiave, se appropriato.deleteMin