数据结构AVL树
等价二分查找树的结构
定义: 中序白能力的相同的任意两个的二叉树的,想出相互等价的,。
引理7:
有N个节点的组成的任何一个二分茶轴的树的T的二分不超过的log2n 的二分查找树等价。
证明:
对T做中序遍历设对应的比哪里的O(T)={t1,t2,,,tn};
考虑的有N个接待你的组成的完全二叉树的S积极遍历的序列G(s)={s1,s1,,,,sn};
只要按照的sj.key=t.key的愿测将T的各个节点中分别分支给S中的对应的节点。则必须S
必须T等价。此时,根据的定理4: S的高度logn.
7.2.3等价变换。
定理的交换:
7.2.3 等价交换的
引入带你管告诉我们:每一刻的二分掺渣树斗鱼摸一个平衡二叉树的相互等价。
zig 旋转
如图:
if( v.isLeft){
/返回词典中的所有条目个一个迭代器
public Iteratior entrites(){
List list =new List_DLNode();
concatnate(list,(BSTreeNode) root);
return list.elements();
}
/*******************辅助的方法***********************/
}
7.1.8二分查找书的平均性能;
根据 引理 3.引理4.引力7.5 分类,对二分叉树的茶壶是的,插入和删除的操作,在最坏的情况下都是需要
O(n) 的时间才成完成。 就这一点,而言,第六掌实现的磁带你结构没有区别。那么,就君君复杂度而言。
二分叉树的性能有啊经然后和,是否还是这个水平。
实际 上,这里的“平均”依次的定义并不严格,。下面,我们将对随机的统计的口径,给出二分查找树的平均性能。
随机的生成:
不妨考虑关键码沪指的n个条目,{e1,e2,...en} ,对于这些条目的人一个全配列的o(e1,e2,e3) ,若从孔数开始。依次调用。
insert 算法将查插入的算法,都可以到的这个n个条目。都可以的得到N个条目的一颗二分察州署的T(O)。
定义七:与碎金的相对应的而分叉上奏的T(V),乘坐G的生成二分查找树。
【数据结构AVL树】定义: 与碎金的排列G对应的二分阐述的排列i,乘坐生成吃的二分叉树的。
7.2.4AVL 树
平衡因子:
在二分查住的中,恩于i个界定啊的V平和的因子,定义为,左右差的告诉差,记错
balFac(v) =height(lc(v)-height)
这里需要再次枪挑,空树的告诉的定义为-1.
AVL 树:
根据平衡因子,我们可以一种特殊的二分檫檫树的:
定义 : 在 而分叉书中,若松与的平和内因的句对之的不产故宫,则成为 T为一个AVL树/。
AVL 结论VL的树的人一个字数必然是AVL树。
平衡结果, AVL的人一个字数也必是AVL树。
证明:
数学归纳法证明:
考察的人一个AVL的树T。
7.2.2等价二分查找树
定义七: 中学遍历序列相同的任意两颗二叉树,乘坐相互等价的。
比如在在图七中: T与S就是一对等价的二叉树。
等价交换:
zig旋转:
zag选装:
堆成的,嘉定节点v 是节点 P的有孩子,z和Y分别是v 的右孩子树。X为p的左孩子树。
所谓的围绕节点的P的zag 旋转操作,节奏zag(p) ,就是将pe 作为的 v 的左孩子,将z作为的v 的右孩子。
将Y和X分别为P的右孩子和左子树。
效率:
无论是zig(p)和zag(p),都设计的常熟基本操作,于是便有如下结论:
引理: zig 和 zag 旋转操作都可以在长苏时间内完成。
效果:
根据 上述的两类情况的处理方法,可以得出一下的结论:
观察结论:
在 AVL树中插入节点X后,如g(x) 是失衡的最低节点,则经过上述的单选或双选调整之后,不仅
能使在巨虎重新品格很同时高度也复原,而且整棵树的液晶重获平衡。
因此,可进一步得出一下结论:
引理: 在AVL 中插入一个接待你后,至多只需压迫经过两次选装可是之回复平很。
双选:
失衡的传播:
与节点插入机器不同的是,在删除的之后u,经过单选或双选调正之后可以是的局部回复平衡。
但全局依然可能存在失衡的现象。请注意在失衡传播。
幸运的是: 就一下事实的意义而言,这种传播时单调的。
观察结论: 在删除AVL节点后,经过上述的单选或双选调正,最深的是和的系欸的那的深度必然减少。
也就说:
即使胡出现新的失衡节点,也只能出现在高处,因此我们,只需要急促宁乡而傻瓜,找到
新的最真的是很Jedi那。
效率:
上述调整过程中在AVL撒谎才能胡一个节点后,之多 jO(logn)次选装操偶组即可使得回府平衡。
推荐阅读
- 【生信技能树】R语言练习题|【生信技能树】R语言练习题 - 中级
- java中如何实现重建二叉树
- 种树郭橐驼传(文言句式+古今异义+词类活用+通假字)
- 白杨树
- 08黑龙江迟淑荣弯柳树网络学院第五期学习赵宗瑞老师主讲的(传统文化与身心健康)教育体系心得体会
- [原创]能见沂山一棵树,胜读十年无用书!
- 涵养字外功
- 2018.07.07《刺杀骑士团长》村上春树
- 二叉树路径节点关键值和等于目标值(LeetCode--112&LeetCode--113)
- 撒哈拉沙漠-三毛