• 每天进步一点点之平衡二叉树的平衡调整


    1,由平衡二叉树(AVL)的定义可知,左右子树的高度差绝对值不超过1,当插入一个新的元素时极有可能破坏原有的平衡性。

    2,平衡调整算法:

      a,LL平衡旋转:结点A的左孩子的左子树上插入新结点,导致A失衡。需要将树右旋调整。选取三个结点的中值,将其放中间,开始调整。

      b,RR平衡旋转:结点A的右孩子的右子树上插入新结点,导致A失衡。需要将树左旋调整。选取三个结点的中值,将其放中间,开始调整。

      c,LR平衡旋转:结点A的左孩子的右子树上插入新结点,导致A失衡,需要进行2次旋转操作。选取三个结点的中值,将其放中间,开始调整。

      d,RL平衡旋转:结点A的右孩子的左子树上插入新结点,导致A失衡,需要进行2次旋转操作。选取三个结点的中值,将其放中间,开始调整。

    3,N个结点的平衡二叉树的平均查找次数为log2N。

          N个结点的二叉排序树的平均查找次数为log2(N+1)-1。

        

  • 相关阅读:
    找零钱「Usaco2006 Dec」
    才艺表演「Usaco2018 Open」
    潜入行动「JSOI2018」
    任务安排「SDOI2012」
    BZOJ2298: [HAOI2011]problem a
    JZOJ 5818
    JZOJ 3493
    JZOJ 3470
    JZOJ 5781
    JZOJ 5778
  • 原文地址:https://www.cnblogs.com/lixiangfu/p/13347683.html
Copyright © 2020-2023  润新知