【问题标题】:AVL Tree rotation orderAVL 树轮换顺序
【发布时间】:2022-01-25 08:29:07
【问题描述】:

当 AVL 树中存在不平衡并且需要旋转时,您如何选择首先旋转哪些节点。在示例中,有时我看到根节点先旋转,有时我看到父节点先旋转,有时叶节点先旋转。

【问题讨论】:

  • “有时……有时……有时”:这一切都取决于树。请更新您的问题,并包括出现混淆的具体示例,并准确解释问题所在。

标签: data-structures tree binary-search-tree avl-tree


【解决方案1】:

使用 AVL 树,当平衡因子沿着从叶子到根的路径更新时,将检测到由插入或删除叶子引起的不平衡。一旦找到(在向上遍历中)获得超出范围的平衡因子的节点,在该节点处将发生单轮或双轮旋转。然而,双重旋转分解为两个单一旋转,这两个中的第一个真正作用于给定节点的子节点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-18
    • 2019-07-09
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    相关资源
    最近更新 更多