1.左子树左插 ——> 右旋
给A的左子树的左边插导致A不平衡
只看BL,B,A,AR4个点,右旋后变成
然后看BR节点,因为BR原来在B的右子树,因此B<BR<A,根据这点将BR在补上,比B大因此在B的右子树,比A小,因此在A的左子树。
2.右子树插右——> 左旋
和1类似,先只看AL,A,B,BR四个点进行左旋,然后根据A<BL<B的性质将其插入。
3.左子树插右——>先左旋后右旋
先对BL,B,C和插入节点进行左旋得到(b),然后对B,C,A,AR进行右旋
(上图展示的是插入节点在C的左子树,下面补充一下插入节点在C的右子树)
4.右子树插左,先右旋再左旋
先旋B,C,BR,插入节点四个节点,再旋A,AL,C,插入节点,B。
总结:每次旋的时候都需要看三层节点,然后选。