二叉树

class Node{
    int value;
    Node leftNode;
    Node rightNode;
}

class BinaryTree{
    Node root;
   
    addNode(Node root,Node node)
    {
       if(node.value < root.value)
       {
            Node leftNode = root.getLeftNode();
            if(null != leftNode)
            {
                 addNode(leftNode);//递归
             }
             else
             {
                  leftNode = node;
              }
       }
     }else
     {
            添加或递归rightNode;
     }

     //前序遍历
     beforeIterator(Node root)
     {     if(null != root)
           {
             Node leftNode = root.getLeftNode();
             Node rightNode = root.getRightNode();
             System.out.println(root.getValue());
             beforeIterator(leftNode);//递归左子树
             beforeIterator(rightNode);//递归右子树
            }
          
      }
      //中序 先递归左子树,再打印父节点本身 身递归右子树
     //后序 先递归左子树,再递归右子树,再打印父节点本身
   
   
}

你可能感兴趣的:(二叉树)