AVL树——深入浅出,一目了然

欢迎转载,请附出处:
http://blog.csdn.net/as02446418/article/details/47306419
以前总对AVL树有疑惑,到底什么时候左旋什么时候右旋,什么时候双旋,双旋和单旋的情况到底是什么样的呢?
看完本篇博客,相信你也能够一目了然了。
这里声明一下
左旋为:逆进针旋转。
右旋为:顺进针旋转。

情况:
(1)LL:插入一个新节点到根节点的左子树(Left)的左子树(Left),导致根节点的平衡因子由1变为2
(2)RR:插入一个新节点到根节点的右子树(Right)的右子树(Right),导致根节点的平衡因子由-1变为-2
(3)LR:插入一个新节点到根节点的左子树(Left)的右子树(Right),导致根节点的平衡因子由1变为2
(4)RL:插入一个新节点到根节点的右子树(Right)的左子树(Left),导致根节点的平衡因子由-1变为-2

处理办法:
(1)LL情况需要根右旋解决,如下图的情况1和2
(2)RR情况需要根左旋解决,如下图的情况3和4
(3)LR情况需要左右旋(先左子树左旋转,后根部右旋转)解决,如下图情况5和6
(4)RL情况需要右左旋(先右子树右旋转,后根部左旋转)解决,如下图情况7和8

直接上图。

《AVL树——深入浅出,一目了然》

    原文作者:AVL树
    原文地址: https://blog.csdn.net/as02446418/article/details/47306419
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞