学习笔记之平衡二叉树
平衡二叉树(AVL树)
平衡二叉树(self-balancing binary search tree or height-balanced binary search tree), 是一种二叉排序树,其中每一个节点的左子树和右子树高度差至多为1.
左子树深度 - 右子树深度 = 平衡因子(BF, Balance Factor)
距离插入点最近,且平衡银子绝对值大于1的节点为跟的子树 - 最小不平衡子树
对比 红黑树1
右旋操作
二叉树P, 左孩子L : 将L的右子树变成P的左子树,P改为L的右子树, L 替换P变成根节点
rootBF >= 2
如图所示:

左旋操作
二叉树P, 右孩子R:将R的左孩子变成P的右子树, P改为R的做左子树,R替换P变成根节点
rootBF <= -2
左右旋操作
右左情况: rootBF <= -2 , rightChildBF =1
右左旋操作
左右情况: rootBF >= 2, leftChildBF = 1

参考
https://zhuanlan.zhihu.com/p/94130997