Exemplo n.º 1
0
  private void buildPostOrder(GenericTreeNode<T> node, List<GenericTreeNode<T>> traversalResult) {
    for (GenericTreeNode<T> child : node.getChildren()) {
      buildPostOrder(child, traversalResult);
    }

    traversalResult.add(node);
  }
Exemplo n.º 2
0
  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);
  }
Exemplo n.º 3
0
  private int auxiliaryGetNumberOfNodes(GenericTreeNode<T> node) {
    int numberOfNodes = node.getNumberOfChildren();

    for (GenericTreeNode<T> child : node.getChildren()) {
      numberOfNodes += auxiliaryGetNumberOfNodes(child);
    }

    return numberOfNodes;
  }