code: def build_full_tree(depth, child_per_parent=2):
      """Build a full tree
  
      Parameters
      ----------
      depth: int
          Depth of the tree
  
      child_per_parent: int, optional
          Number of child per node. Default: 2
      """
  
      root = TreeNode(0)
      node_buffer = [root]
      next_nodes = []
      node_item = 1
      for i in range(depth - 1):
          for node in node_buffer:
              for k in range(child_per_parent):
                  next_nodes.append(TreeNode(node_item, parent=node))
                  node_item += 1
          node_buffer = next_nodes
          next_nodes = []
  
      return root
  
imports: from orion.core.utils.tree import DepthFirstTraversal, PreOrderTraversal, TreeNode, flattened
label_desc: Use image node_id 1 for calling a global function with example usage: build_full_tree(depth, child_per_parent) and returns: root