|
Scaricare il file
labJava1_06.zip , scompattarlo nella propria directory di lavoro. Il file
.zip contiene le interfacce di Position<E>, Tree<E>, BinaryTree<E> e il file
TestLinkedBinaryTree.java in cui inserire il codice richiesto negli
esercizi di seguito riportati. Sono, inoltre, forniti tutti i file .class
necessari all'esecuzione dell'esercitazione.
Come esercitazione:
-
Trovare la Position<E>
r della radice dell'albero e stampare il valore associato a tale
posizione.
-
Inserire un ciclo che a
partire dalla posizione della radice dell'albero determini la posizione
x del nodo interno più a sinistra e ne stampi il contenuto.
-
Determinare la
posizione z dello zio di x e stamparne il contenuto .
-
Scrivere un metodo
statico con signature :
public static
<E> Position<E> leftMost( BinaryTree<E> T, Position<E> p ) { /*. . .*/ }
che determina la posizione del
nodo interno più a sinistra del sottoalbero di T con radice p.
Verificare il corretto funzionamento del metodo applicandolo ai nodi r,
z, x.
-
Scrive un metodo
public static <E> int depth(BinaryTree<E> T,
Position<E> p) { /*. . .*/ }
che determina la profondità del nodo p di T.
-
Scrive un metodo
public static <E> int height(BinaryTree<E> T, Position<E> p) { /*. . .*/ }che
determina la altezza del sottoalbero con radice in p di T.
-
Scrivere un metodo
statico
public static <E> Position<E> search( BinaryTree<E> T, Position<E> p,
Integer n ) { /*. . .*/ } che ritorna la posizione
del nodo (nel sottoalbero p di T) che contiene il valore
n, se esiste, altrimenti ritorna null.
Nel file
TestLinkedBinaryTree.java viene creato l'albero riportato nella
figura sottostante, da usare per la verifica del corretto
funzionamento del codice.

|