AVL树高度方法StackOverFlow Erroe

时间:2017-06-16 04:45:24

标签: java

我正在尝试实现AVL树。我在高度方法上有stackOverFlow。我尝试使用少量输入。然而,当我尝试大规模的输入时,它会粉碎。这是我的代码。

   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;
}

1 个答案:

答案 0 :(得分:0)

如果您的树具有循环引用,则会发生这种情况。检查树木结构。调试 - 分配唯一值并在遍历节点时进行打印。