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

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。

    

原文地址:https://www.cnblogs.com/lixiangfu/p/13347683.html