attraversare l'albero binario utilizzando in ordine di attraversamento . Supponendo che la classe "BT " rappresenta un albero binario , il codice seguente mostra come stampare l'albero in ordine . Ogni nodo ha un puntatore sinistro e destro che si riferisce ai nodi sinistro e destro del nodo corrente , insieme con un elemento di dati che rappresenta il suo valore . L' in -ordine sarà attraversare il nodo di sinistra prima fino a colpire nulla , e la stampa nodo del genitore prima di attraversare a destra e ricominciare da capo . L' significa che ogni nodo viene stampata solo se tutti i suoi nodi figlio del lato sinistro sono stampati prima :
public class BT {
public void inOrder (Nodo x ) {
if ( x == null) { return; //ricorsione si ferma quando non c'è nodo }
inOrder ( x.left ) ; //sempre traversare a sinistra firstprint x.data ; //stampare i dati una volta il returnsinOrder nodo sinistro ( x.right ) ; //traverse a destra }
2
attraversare l'albero in pre- ordine . Questo ordine è simile a in-order , tranne che la stampa del nodo viene prima di ogni attraversamento . Quindi , il nodo viene stampato il suo valore , e poi attraversare a sinistra . Poi , quando la ricorsione ritorna al nodo dopo aver attraversato sinistra , il nodo verrà poi traversare a destra . Ciò significa che il nodo stamperà sempre se stessa prima di ogni bambino nodi stampa :
public void Preorder (Nodo x ) {
if ( x == null) { return; //ferma la ricorsione quando non vi è alcun nodo }
stampa x.data ; //printinOrder ( x.left ) ; //traverse leftinOrder ( x.right ) ; //traversa a destra }
3
attraversare l'albero di post- ordine . Questo è l' opposto del pre -ordine . Un nodo cercherà sempre per i suoi nodi di sinistra o di destra prima della stampa stessa, il che significa che tutti gli altri nodi figlio sotto di esso verranno stampati prima :
public void postorder (Nodo x ) {
se ( x == null) { return; //ricorsione si ferma quando non c'è nodo }
inOrder ( x.left ) ; //traverse leftinOrder ( x.right ) ; //traverse rightprint x.data ; //print}
Programmazione © www.354353.com