private void buildPostOrder(GenericTreeNode<T> node, List<GenericTreeNode<T>> traversalResult) { for (GenericTreeNode<T> child : node.getChildren()) { buildPostOrder(child, traversalResult); } traversalResult.add(node); }
private void buildPostOrderWithDepth( GenericTreeNode<T> node, Map<GenericTreeNode<T>, Integer> traversalResult, int depth) { for (GenericTreeNode<T> child : node.getChildren()) { buildPostOrderWithDepth(child, traversalResult, depth + 1); } traversalResult.put(node, depth); }
private int auxiliaryGetNumberOfNodes(GenericTreeNode<T> node) { int numberOfNodes = node.getNumberOfChildren(); for (GenericTreeNode<T> child : node.getChildren()) { numberOfNodes += auxiliaryGetNumberOfNodes(child); } return numberOfNodes; }