• 平衡二叉树结构 AVL


    它是在BST的基础上又加了限制条件,限制任一结点的左右子树的高度差不能大于1.也就是说AVL看起来要更加规整。 索引 若理想情况--左右子树高度相等,其搜索时间复杂度为log(N),若不理想--线性树,时间复杂度变为O(N)。 AVL平衡失控的原因是因为加入了新结点。它有四种失衡状态: 索引 AVL树失去平衡之后,可以通过旋转使其恢复平衡。下面分别介绍四种失去平衡的情况下对应的旋转方法。 LL的旋转。LL失去平衡的情况下,可以通过一次旋转让AVL树恢复平衡。步骤如下:
    1. 将根节点的左孩子作为新根节点。
    2. 将新根节点的右孩子作为原根节点的左孩子。
    3. 将原根节点作为新根节点的右孩子。
    LL旋转示意图如下: 索引 RR的旋转:RR失去平衡的情况下,旋转方法与LL旋转对称,步骤如下:
    1. 将根节点的右孩子作为新根节点。
    2. 将新根节点的左孩子作为原根节点的右孩子。
    3. 将原根节点作为新根节点的左孩子。
    RR旋转示意图如下: 索引 LR的旋转:LR失去平衡的情况下,需要进行两次旋转,步骤如下:
    1. 围绕根节点的左孩子进行RR旋转。
    2. 围绕根节点进行LL旋转。
    LR的旋转示意图如下: 索引 RL的旋转:RL失去平衡的情况下也需要进行两次旋转,旋转方法与LR旋转对称,步骤如下:
    1. 围绕根节点的右孩子进行LL旋转。
    2. 围绕根节点进行RR旋转。
    RL的旋转示意图如下: 索引
  • 相关阅读:
    最后一次作业-- 总结报告
    第14.15周作业
    第七周作业
    第六周作业
    第四周作业
    第三周作业。
    第四次作业
    第三次作业
    第二次作业
    第一次作业
  • 原文地址:https://www.cnblogs.com/ZoHy/p/12400691.html
Copyright © 2020-2023  润新知