/** * Classe di utility */ public class TreeUtil { /* * Stampa "graficamente" l'albero */ public static void print(Tree tree) { print(tree, 0); } /* * Metodo ausiliario ricorsivo di print */ private static void print(Tree tree, int level) { for (int i = 0; i < level - 1; i++) { System.out.print(" "); } if (level > 0) System.out.print(" |--"); System.out.println(tree.getRoot()); for (Tree subtree : tree.getSubtrees()) { print(subtree, level + 1); } } /* * Stampa in preordine */ public static void printPreorder(Tree t) { System.out.print(t.getRoot() + " "); for (Tree s : t.getSubtrees()) { printPreorder(s); } } /* * Stampa in postordine */ public static void printPostorder(Tree t) { for (Tree s : t.getSubtrees()) { printPostorder(s); } System.out.print(t.getRoot() + " "); } }