In un heap (massimo) è facile trovare l'elemento più grande nel tempo O(1)
, ma per rimuoverlo effettivamente è necessaria la complessità di O(log(n))
.Perché l'heap è migliore di un albero binario per rappresentare una coda prioritaria?
Quindi, se l'inserimento e la cancellazione da un heap sono entrambi O(log(n))
, quali sono i vantaggi di un heap su un albero binario per rappresentare una coda di priorità?
Sia una buona domanda che una buona risposta. – robbmj
Come si nota, gli alberi possono essere rappresentati in forma di array. # 1 e # 3 non sono molto convincenti (il # 2 d'altra parte è un'ottima ragione). – phs