AVL树是高度平衡的而二叉树。它的特点是:AVL树中任何节点的两个子树的高度最大差别为1。
如果在AVL树中进行插入或删除节点后,可能导致AVL树失去平衡。这种失去平衡的可以概括为4种姿态:LL(左左),LR(左右),RR(右右)和RL(右左)。下面给出它们的示意图:
上图中的4棵树都是"失去平衡的AVL树",从左往右的情况依次是:LL、LR、RL、RR。除了上面的情况之外,还有其它的失去平衡的AVL树,如下图:
image.png
针对四种失去的平衡姿态怎么恢复平衡
1.LL旋转
2.RR旋转
image.png
3.LR旋转
image.png
4.RL旋转
image.png
参考
AVL树(三)之 Java的实现
网友评论