不平衡的avl树检查功能

时间:2014-11-25 14:02:09

标签: c++ data-structures avl-tree

我实现了一个AVL树并编写了该函数来计算给定树的平衡因子:

int avlTree::balanceFactor(avlNode *tree){
     return height(tree->left) - height(tree->right);
 }

但似乎确实给了我正确的树平衡因子,它不会让我确定树是AVL平衡的天气,因为根据定义,对于每个子树,应该检查平衡因子。那棵树:

enter image description here

根据函数的平衡因子0,

会有这个问题,当涉及到树的平衡时,它并没有给我很多。我能添加什么?

1 个答案:

答案 0 :(得分:0)

您的balanceFactor功能正确无误。您只需将其应用于从根开始的节点,沿着不平衡节点链向下,如here, for example所述。