AVL树

AVL树是高度平衡的而二叉树。它的特点是:AVL树中任何节点的两个子树的高度最大差别为1。
如果在AVL树中进行插入或删除节点后,可能导致AVL树失去平衡。这种失去平衡的可以概括为4种姿态:LL(左左),LR(左右),RR(右右)和RL(右左)。下面给出它们的示意图:

image.png

上图中的4棵树都是"失去平衡的AVL树",从左往右的情况依次是:LL、LR、RL、RR。除了上面的情况之外,还有其它的失去平衡的AVL树,如下图:
image.png

针对四种失去的平衡姿态怎么恢复平衡

1.LL旋转

image.png

2.RR旋转
image.png

3.LR旋转
image.png

4.RL旋转
image.png

参考
AVL树(三)之 Java的实现

你可能感兴趣的:(AVL树)