我正在尝试实现 AVL 树。我正在使用 stackOverFlow on height 方法。我尝试用少量的输入它可以工作。然而,当我尝试大规模输入时,它崩溃了。这是我的代码。
private int height(Node<T> node){
if(!isEmpty() && node != null){
if(isleaf(node))
return 1;
else{
int p = height(node.left);
int q = height(node.right);
if(p > q)
return p + 1;
else
return q + 1;
}
}
return 0;
}
最佳答案
如果您的树具有循环引用,则可能会发生这种情况。检查树的构造。调试 - 分配唯一值并在遍历节点时进行打印。
关于java - AVL树高度方法堆栈溢出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44580986/