zoukankan      html  css  js  c++  java
  • 每天进步一点点之平衡二叉树的平衡调整

    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。

        

  • 相关阅读:
    每日一题_191118
    每日一题_191117
    每日一题_191116
    每日一题_191115
    每日一题_191114
    每日一题_191113
    每日一题_191112
    每日一题_191111
    每日一题_191110
    一道抛物线自编题的思考
  • 原文地址:https://www.cnblogs.com/lixiangfu/p/13347683.html
Copyright © 2011-2022 走看看