每天进步一点点之平衡二叉树的平衡调整
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。
never never wait