java - 添加并生成二叉搜索树

标签 java

我在弄清楚如何向二叉搜索树添加或插入节点时遇到了一些麻烦。目前我有以下代码:

public void add(int v) { 
        Node n = new Node(v); 
        if(root==null)
            root = n;   
        else {  
            Node m = root;  
            while(...) { //not sure what to check
                if(v < m.value)
                    m = m.left;
                else
                    m = m.right;
            }
            if(...) //not sure what to check
                m.left = n;
            else
                m.right = n; 

        }   
    }

然后我还想在一定范围内生成n个节点。我知道如何对数组执行此操作,但我不确定如何对 BST 中的节点执行此操作。

public void generate(int n, int range) {

  }

最佳答案

当您插入二叉树时,您需要一直插入,直到找到没有相应子节点的节点。然后将新节点插入到该位置。

至于填充某个范围内的数字,您可以按照与数组相同的方式生成它们,但您可以使用 add 方法来代替插入到数组中。

关于java - 添加并生成二叉搜索树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18285987/

相关文章:

java - 在 Java 中防止在 String.format ("%.2f", doubleValue) 中四舍五入

Java - 如何将 Files.lines() 的 URL 转换为 PATH

java - Vertx3 - 从 JDBC 连接返回值? (sql 数据库)。

java - 制作副本后列表 <> 对象更改

java - 如何从 Twitter 的 slug 中获取 Twitter 列表 ID?

JAVA:如何检查网站文档是否包含某个单词?

java - 无法使用 proguard 保留方法

java - 我已经导入了 org.openqa.selenium.interactions.Actions 但仍然抛出错误 Actions can not parsed to a variable

java - 在 iText 7 中使用图像作为水印

java - 是否可以使用 EasyMock 创建一个实现多个接口(interface)的模拟对象?