7. 树--平衡二叉树
来源:互联网 发布:js 获取当前日期 周几 编辑:程序博客网 时间:2024/05/17 21:21
平衡二叉树
平衡二叉树(Balanced Binary Tree),又称AVL树
定义
空树,或者任一结点左、右子树高度差的绝对值不超过1,即
|BF(T)|≤1
- “平衡因子”(Balance Factor,简称BF):
BF(T)=hL−hR ,其中hL 和hR 分别为T 的左、右子树的高度
特性
- 设
nh 是高度为h 的平衡二叉树的最小结点数,有:nh=nh−1+nh−2+1 nh=Fh+2−1,h≥0 ,Fh 为斐波那契函数- 给定结点数为
n 的AVL树的查找效率是O(logn2) ,最大高度是logn2
平衡二叉树的调整
在插入结点时,导致某个结点不平衡,把这个结点称为发现者,插入结点称为麻烦结点
RR插入
麻烦结点在发现者右子树的右边,需要RR旋转(右单旋)
LL插入
麻烦结点在发现者左子树的左边,需要LL旋转(左单旋)
LR插入
麻烦结点在发现者左子树的右边,需要LR旋转
RL插入
麻烦结点在发现者右子树的左边,需要RL旋转
注意:有时候插入元素即便不需要调整结构,也可能需要重新计算一些平衡因子
阅读全文
0 0
- 7. 树--平衡二叉树
- 平衡二叉树平衡法则
- 二叉树--二叉平衡树
- 平衡二叉树的
- 平衡二叉树
- 平衡二叉树
- 平衡二叉树
- 平衡二叉树
- 平衡二叉查找树
- 平衡二叉树 详解
- 平衡二叉树
- 平衡二叉树
- AVL 平衡二叉树
- 平衡二叉树
- 平衡二叉树-红黑树
- 平衡二叉树
- 平衡二叉树
- 平衡二叉树
- linux基础
- java.util.ConcurrentModificationException的解决办法
- F
- HDU 4193————Non-negative Partial Sums
- 算法题目---合并两个排序的链表
- 7. 树--平衡二叉树
- 详细说明怎么设置去掉8080端口也能访问项目,怎么设置去掉项目名也能访问自己的项目。
- java 中关于return 问题
- 用MVP模式开发Andorid应用
- java实现word转pdf-附全码
- redis的setnx锁到了超时时间失效,并发的问题
- 枚举类型介绍
- git .ppk生成
- arc_cmd