平衡二叉树(AVL)的旋转

 平衡二叉树定义(AVL):它或者是一颗空树,或者具有以下性质的二叉树:它的左子树和右子树的深度之差(平衡因子)的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。

 在平衡二叉树进行插入操作时遇到的不平衡情况有多种,但是这么多种情况都可以分解为一下四种基础情景:把它叫做:左左、左右、右右、右左。

 旋转有两种:左旋和右旋。

 

1.左左情况如图:

 

,显然4的平衡因子大于1了,为了保持平衡那我们就这样做:让4节点的左孩子指向3的右子树(此时为NULL),让3的右孩子指向4,让树根指向3,如图 ,这种操作我们规定为右旋操作,此图是以4为根进行旋转。

2.右左情况(节点9不平衡):

 

 

 

 

来源:http://lib.csdn.net/article/datastructure/9204

 http://blog.csdn.net/ch717828/article/details/46908829

参考:https://www.cnblogs.com/zhangbaochong/p/5164994.html#undefined

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值