【发布时间】:2022-01-25 08:29:07
【问题描述】:
当 AVL 树中存在不平衡并且需要旋转时,您如何选择首先旋转哪些节点。在示例中,有时我看到根节点先旋转,有时我看到父节点先旋转,有时叶节点先旋转。
【问题讨论】:
-
“有时……有时……有时”:这一切都取决于树。请更新您的问题,并包括出现混淆的具体示例,并准确解释问题所在。
标签: data-structures tree binary-search-tree avl-tree
当 AVL 树中存在不平衡并且需要旋转时,您如何选择首先旋转哪些节点。在示例中,有时我看到根节点先旋转,有时我看到父节点先旋转,有时叶节点先旋转。
【问题讨论】:
标签: data-structures tree binary-search-tree avl-tree
使用 AVL 树,当平衡因子沿着从叶子到根的路径更新时,将检测到由插入或删除叶子引起的不平衡。一旦找到(在向上遍历中)获得超出范围的平衡因子的节点,在该节点处将发生单轮或双轮旋转。然而,双重旋转分解为两个单一旋转,这两个中的第一个真正作用于给定节点的子节点。
【讨论】: