【问题标题】:Recursive insert binary search tree JAVA递归插入二叉搜索树JAVA
【发布时间】:2021-09-01 10:16:12
【问题描述】:

我有这段代码,但我发现很难以递归方式编写它(在二叉搜索树中插入方法)

    public void insert(E element){
        BTNode<E> node=root;
        boolean stop=false;
        while(!stop){
            if(element.compareTo(node.getElement())<0){
                if(node.getLeft()==null){
                    node.setLeft(new BTNode<E>(element));
                    stop=true;
                } else{
                    node=node.getLeft();
                }
            }
            else{
                if(node.getRight()==null){
                    node.setRight(new BTNode<E>(element));
                    stop=true;
                } else{
                    node=node.getRight();
                }
            }
                
        }
        
    }

【问题讨论】:

    标签: java algorithm data-structures binary-search-tree computer-science


    【解决方案1】:

    您可以编写一个接受根和要插入的元素并返回修改后的根的方法。

    public BTNode<E> insert(BTNode<E> root, E element) {
       if ( root == null ) {
          root = new BTNode<E>(element);
       } else if ( element.compareTo(root.getElement()) < 0 ) {
          root.left = insert(root.left, element);
       } else {
          root.right = insert(root.right, element);
       }
       return root;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-16
      • 1970-01-01
      • 2011-07-19
      相关资源
      最近更新 更多