[英]AVL trees confusion about height
我对AVL树很困惑。 我的教科书说:“AVL 树是具有高度平衡属性的 BST,并且在插入或删除节点时重新平衡树的特定操作。本节讨论平衡属性;另一节讨论操作。BST 是高度平衡的,如果任何节点,该节点的左右子树的高度仅相差 0 或 1。” 他们的意思是左右还是什么? 是不是因为第二个,从 A 到 F 的高度是 2? 从 A 到 C 然后 C 到 E 然后 E 到 F。我很困惑,最初我以为它们是指上下高度。 这将使左侧的高度为三,而右侧的高度为二
简单地说,我们可以说如果特定节点的左侧最大边(很长的步行直到我们到达叶节点) l
和右侧最大边r
并且它们是否满足以下等式
| l - r | <= 1
那么该节点是平衡的。 如果 BST 中的所有节点都是平衡的,则该 BST 是平衡的。
在您的 AVL 树示例中,
您可以检查的每个字母如下
在您的非 AVL 树示例中
当我们至少有一个不平衡的节点时,这意味着 BST 不平衡。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.