Ciao a tutti vi prego aiutatemi sono disperato domani ho un esame e potre bbe uscire un esercizio sugli alberi in cui mi servirebbe passare a una funione ricorsiva ogni volta un sottoalbero diverso pertanto mi servirebbe calcolarmelo iterativamente rimuovendo di volta in volta la root.
L'albero non è binario.
qualcuno puo aiutarmi?
oltre ai metodi dell'interfaccia Tree(tranne quelli che restituiscono iteratori di tutti i nodi---children lo posso usare) posso utilizzare i seguenti metodi:
codice:public static class ExamTree<E> extends LinkedTree<E> implements Tree<E> { public Position<E> examAddRoot(E e) { size = 1; root = examCreateNode(e, null, null); return root; } // aggiunge a v un figlio che ha come elemento element public Position<E> examAddChild(E element, Position<E> v) { size++; Position<E> newP = examCreateNode(element(TreePosition<E>)v, null); if (isExternal(v)) { PositionList<Position<E>> figli = new NodePositionList<Position<E>>(); ((TreePosition<E>) v).setChildren(figli); figli.addLast(newP); } else ((PositionList<Position<E>>) children(v)).addLast(newP); return newP; } protected TreePosition<E> examCreateNode(E element, TreePosition<E> parent, PositionList<<Position<E>> children) { return new TreeNode<E>(element, parent, children); } }

Rispondi quotando