4
我有这个问题,实现了二叉搜索树插入。现在我已经用递归方法和迭代来尝试它了。到目前为止,我得到的方式是“最好还好”,因为对于树大小= 31609和树高= 35,插入大约需要100秒,并且它应该在大约一秒钟内降低WAAAAAAY。有人可以给我一个暗示我可能做错了什么吗?Java二叉搜索树 - 插入实现
这里是什么,我已经设法到目前为止做的(无插入式两份),代码:
void insert(int val){
if(this.elem < val){
if(this.right != null){
this.right.insert(val);
}
else{
nodes++;
this.right = new Node(val);
}
}
else if(this.elem > val){
if(this.left != null){
this.left.insert(val);
}
else{
nodes++;
this.left = new Node(val);
}
}
else {
return;
}
}
我怀疑这个问题位于插入本身。你能提供关于构造函数的信息吗? –
构造函数是非常基本的:private Node(int elem){this.elem = elem;} – drBet
和'nodes ++'是什么意思?你在每个节点上存储树的大小吗? –