【发布时间】:2020-12-12 20:43:45
【问题描述】:
我对 AVL 树感到很困惑。我的教科书说“AVL 树是具有高度平衡属性的 BST,并且在插入或删除节点时重新平衡树的特定操作。本节讨论平衡属性;另一节讨论操作。BST 是高度平衡的,如果任何节点,该节点的左右子树的高度仅相差 0 或 1。”他们的意思是左右还是什么?是不是因为第二个,从 A 到 F 的高度是 2?从A到C,然后C到E,然后E到F。我很困惑,最初我以为它们是指上下高度。这将使左侧的高度为 3,而右侧的高度为 2
【问题讨论】:
-
您似乎缺少图片,所以我们不知道 A-F 到底是什么。不过可以参考这个博客skerritt.blog/avl
-
谢谢,让我看看
-
我认为该措辞具有误导性。如果对于 所有节点,节点的左右子树的高度仅相差 0 或 1,则 BST 是高度平衡的。对于第二个示例,节点“C”违反了此要求(其左子树高度为 2,其右子树高度为 0)。这种对平衡要求的单一违反意味着整棵树不是 AVL 树。