| Alvarano 2004-05-22, 7:35 pm |
| Devo scrivere una classe che usa gli Alberi Binari :
Considerando la Classe BinNode :
public class BinNode {
public Object key; // Campo chiave
public BinNode left; // Riferimento al figlio sinistro
public BinNode right; // Riferimento al figlio destro
public BinNode parent; // Riferimento al padre
/* Costruttore di un BinNode in cui l'oggetto k (diverso da null) e' il
campo chiave, i parametri l e r sono riferimenti al figlio sinistro e
destro, rispettivamente, e il parametro p e' il riferimento al padre. */
public BinNode( Object k, BinNode l, BinNode r, BinNode p ) {
if ( k == null )
throw new IllegalArgumentException( );
key = k;
left = l;
right = r;
parent = p;
// Aggiorna il campo padre del figlio sinistro (se esiste)
if (l != null)
l.parent = this;
// Aggiorna il campo padre del figlio destro (se esiste)
if (r != null)
r.parent = this;
}
// Varianti del costruttore suddetto
public BinNode( Object k ) {
this (k, null, null, null);
}
public BinNode( Object k, BinNode p) {
this (k, null, null, p);
}
public BinNode( Object k, BinNode l, BinNode r ) {
this (k, l, r, null);
}
}
Devo scrivere una classe con tre metodi statici, ho dei problemi per uno di
questi.
public static ContaInterni( );
Il metodo mi chiede di restituire il numero di nodi interni dell' albero,
considerando il fatto che un nodo interno e' un
nodo con almeno un figlio.
Non riesco a capire in che modo il programma possa riconoscere i nodi
interni e contarli.
Se qualcuno mi puo' dare informazioni utili sul codice da scrivere gliene
saro' grato.
|