Heap binario: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m ortografia |
m →Implementazione con array: aggiungo tag semantici |
||
Riga 6:
== Implementazione con array ==
Dato
* il padre di
* il figlio sinistro di
* il figlio destro di
Si possono quindi definire le funzioni <samp>Padre(j)</samp>, <samp>FiglioSX(j)</samp>, <samp>FiglioDX(j)</samp> che rispettivamente restituiscono l'indice del padre, del figlio sinistro e del figlio destro di <var>j</var>. 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.
|