Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

Esercitazione nona

informatica



Esercitazione nona





In questa esercitazione è presentata la codifica in Java di un programma che, dati in ingresso una serie di interi, allochi tali interi su di un albero binario; successivamente, il programma stampa i valori dei nodi in modalità preorder, postorder e inorder, calcola l'altezza di ogni nodo, la sua profondità, l'altezza dell'albero ed infine stampa i valori dei nodi che si trovano sui livelli pari e quelli dei nodi che si trovano sui livelli dispar 828i85i i .


Programma Albero ( IX)






import java.io .* ;

public class Albero

public Albero ( int n )


public void aggiungi ( int n )

else

else if ( n%2 = =1 && this.fdx != null ) // il nodo è dispari

if ( this.fsx !=null && this.fdx !=null ) fdx.aggiungi ( n ) ; // chiamata ricorsiva

else if ( this.fdx = =null ) fdx =new Albero ( n ) ; // non c'è fdx quindi lo si crea

else fsx =new Albero ( n ) ; // c'è fdx ma non fsx quindi lo si crea

}

} // aggiungi


public void preorder ( ) // preorder


public void postorder ( ) // postorder


public void inorder ( ) // inorder


public int calcolaAlt ( )

else return 0 ; // Il nodo selezionato è una foglia

} // calcolaAlt


public int calcolaPro ( int n )

return i ;

}

else

return i ;

}

} // calcolaPro


public Albero cerca ( int n )

return tree ;

}

else

return tree ;

} } // cerca



public int calcolaAlt ( int n ) // calcolaAlt


public void livelli ( int n,Albero radice )

else

} // livelli


public static void main ( String argv[ ] ) throws IOException

t.preorder ( ) ; // stampa in preorder

System.out.println ( "" ) ;

t.postorder ( ) ; // stampa in postorder

System.out.println ( "" ) ;

t.inorder ( ) ; // stampa in inorder

System.out.println ( "" ) ;

System.out.println ( t.calcolaAlt ( ) ) ; // calcola l'altezza dell'albero

System.out.println ( t.calcolaAlt ( 4 ) ) ; // Altezza di un nodo a caso

System.out.println ( t.calcolaPro ( 4 ) ) ; // Profondità di un nodo a caso

System.out.println("") ;

t.livelli ( 2,t ) ; // livelli pari

System.out.println ( "" ) ;

t.livelli ( 3,t ) ; // livelli dispari

}



Esempi pratici
Inserire dieci valori
Input
Output preorder 0, 2, 4, 8, 6, 1, 5, 3, 9, 7
Postorder 7, 3, 9, 1, 5, 0, 6, 2, 4, 8
Inorder 8, 4, 2, 6, 0, 5, 1, 9, 3, 7
Altezza dell'albero : 3
Altezza del nodo 4 : 1
Profondità del nodo 4 : 2
Livelli pari 8 livello 4
2 livello 2
1 livello 2
9 livello 4
7 livello 4
Livelli dispari 4 livello 3
6 livello 3
0 livello 1
5 livello 3
3 livello 3
Inserire dieci valori
Input
Output preorder 0, 4, 2, 6, 8, 5, 1, 3, 7, 9
Postorder 9, 3, 7, 5, 1, 0, 8, 4, 2, 6
Inorder 6, 2, 4, 8, 0, 1, 5, 7, 3, 9
Altezza dell'albero : 3
Altezza del nodo 4 : 2
Profondità del nodo 4 : 1
Livelli pari 6 livello 4
4 livello 2
5 livello 2
7 livello 4
9 livello 4
Livelli dispari 2 livello 3
8 livello 3
0 livello 1
1 livello 3

3 livello 3




Privacy




Articolo informazione


Hits: 1371
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024