Salve, io devo fare questo esercizio:
"Scrivere la funzione public static <E> int countIntNodes(Tree<E> T). La funzione deve effettuare una visita (ricorsiva) postorder dell’albero T e restituire il numero di nodi interni dell’albero."
Io ho fatto così, ma mi sembra un pò forzato. Avete qualche idea? Grazie a tutti!
codice:public static <E> int countIntNodes(Tree<E> T) { if(T.isEmpty()) throw new EmptyTreeException("L'albero è vuoto"); return count(T,T.root()) + 1; } public static <E> int count(Tree<E> T, Position<E> p) { int somma = 0; if(T.isExternal(p)) return -1; if(T.isInternal(p)) { for(Position<E> v : T.children(p)) { somma = somma + 1 + count(T,v); } } return somma; }

Rispondi quotando