数据结构笔记9 平衡二叉树(平衡二叉树的概念、平衡二叉树的调整)

什么是平衡二叉树?
搜索树结点不同插入次序,将导致不同的深度和平均查找长度ASL。
平衡因子(Balance Factor,简称BF): BF(T) = hL-hR,其中hL和hR分别为T的左、右子树的高度。
平衡二叉树(Balanced Binary Tree)(AVL树)空树,或者任一结点左、右子树高度差的绝对值不超过1,即|BF(T) |≤ 1。
在这里插入图片描述
设 nh 高度为h的平衡二叉树的最少结点数。结点数最少时:
在这里插入图片描述

给定结点数为n的AVL树的最大高度为O(log2n)

平衡二叉树的调整
1.RR 旋转(右单旋)在这里插入图片描述
不平衡的“发现者”是Mar,“麻烦结点”Nov 在发现者右子树的右边,因而叫 RR 插入,需要RR 旋转(右单旋)
在这里插入图片描述
2.LL 旋转(左单旋)
在这里插入图片描述
“发现者”是Mar,“麻烦结点”Apr 在发现者左子树的左边,因而叫 LL 插入,需要LL 旋转(左单旋)
在这里插入图片描述
3.LR 旋转(左-右双旋)
在这里插入图片描述
“发现者”是May,“麻烦结点”Jan在左子树的右边,因而叫 LR 插入,需要LR 旋转
在这里插入图片描述
4.RL 旋转(右-左双旋)
在这里插入图片描述
一般情况调整如下:
在这里插入图片描述
注意:有时候插入元素即便不需要调整结构,也可能需要重新计算一些平衡因子。

问:在下列平衡树中插入3后,该树是否还平衡?如果不平衡应该做什么旋转进行调整?(C)
在这里插入图片描述
A.还是平衡的
B.不平衡了,应该做LL旋转
C.不平衡了,应该做RR旋转
D.不平衡了,应该做LR旋转

(以上笔记总结自浙江大学数据结构课程)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值