Sviluppare l'algoritmo di eliminazione di una classe albero binario . Se un programmatore sviluppa un albero binario , si può creare un algoritmo di cancellazione per cancellare tutti i dati su tutti i nodi presenti . Il contorno per una classe albero binario che include una funzione di cancellazione sarà simile a questo esempio :
classe BinaryTree {
Nodo privato sinistra ; Nodo diritto privato ;
public void add () { //aggiunge elemento}
ricerca nodo pubblico ( int item) { //cerca voce }
pubblico nodo GetRoot ( ) { nodo radice //ritorno }
public void ClearList (Nodo x ) { //cancella albero } }
2
Sviluppare l'algoritmo di eliminazione. Se " ClearList ( ) " rappresenta la funzione che cancella un albero binario , allora la funzione deve andare in ogni nodo e dichiara come un riferimento "null" , il che significa che garbage collection Java può eliminarlo. L' esempio seguente mostra come eseguire questa operazione utilizzando un post - ordine di attraversamento , che visita ricorsivamente ogni nodo , e cancella sia sotto- alberi di quel nodo prima di eliminare il nodo :
public void ClearList (Nodo x ) {
if ( x == null) { return; }
ClearList ( x.left ) ; ClearList ( x.right ) ; x = null;
return;}
3
Chiamare la funzione di cancellazione . Per svuotare un intero albero binario , il programmatore potrebbe chiamare la funzione utilizzando il nodo radice dell'albero . Inoltre , il programmatore potrebbe eliminare specifici alberi sub dall'albero da ottenere uno specifico nodo nell'albero. Assumendo "BT " rappresenta un albero binario , l'esempio seguente mostra come eseguire questa operazione :
BT.clearList ( BT.search ( 5) ) ; //cancella un albero secondario sotto il nodo che rappresenta " 5 " , BT.clearList ( BT.getRoot ( ) ) ; //cancella tutto l'albero
Programmazione © www.354353.com