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