搜索:O(logn),O(1)次的旋转
添加:O(logn),O(1)次的旋转
删除:O(logn),最坏O(logn)次的旋转
最大高度是1.44+log2(n+2)-1.328(100万个节点,最大树高是28)
平衡因子:某节点的左右子树的高度差
AVL树的特点:
每个节点的平衡因子只可能是1,0,-1
LL-右旋转
RR-左旋转
LR-先对左子树进行左旋转,再对整棵树进行右旋转
RL-先对右子树进行右旋转,再对整棵树进行左旋转
添加:添加完成后判断是不是平衡,如果平衡则更新高度,如果不平衡则通过旋转达到平衡
删除:二叉搜索树方法删除完成后判断是不是失衡,一直到根结点,如果平衡则更新高度,如果不平衡则通过旋转达到平衡