Heap binario: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Riga 6:
===Implementazione con array===
Dato ''j'', indice ad un nodo della heap, si
* il padre di ''j'' è il nodo in posizione <math>j/2</math> * il figlio sinistro di ''j'' è il nodo in posizione <math>j*2</math> * Si possono quindi definire le funzioni Padre(j), FiglioSX(j), FiglioDX(j) che rispettivamente restituiscono l'indice del padre, del figlio sinistro e del figlio destro di j. Spesso sono implementate come macro o funzioni in linea. Nell'immagine in alto a destra è possibile osservare quanto descritto, in aggiunta si può dire che viene definito come ''last'' (ultimo) l'elemento che si trova più a destra nel livello delle foglie. Nell'esempio last ha valore 15. Questo particolare nodo assume un compito determinante nei metodi per la rimozione della chiave minima (che è ovvio supporre, per le proprietà citate, si trovi nella radice) e nell'inserimento di una nuova chiave.
|