邓俊辉 数据结构 高级搜索树下

高级搜索树(B树 插入)

邓俊辉 数据结构 高级搜索树下_第1张图片
邓俊辉 数据结构 高级搜索树下_第2张图片
邓俊辉 数据结构 高级搜索树下_第3张图片
邓俊辉 数据结构 高级搜索树下_第4张图片
邓俊辉 数据结构 高级搜索树下_第5张图片
邓俊辉 数据结构 高级搜索树下_第6张图片邓俊辉 数据结构 高级搜索树下_第7张图片
邓俊辉 数据结构 高级搜索树下_第8张图片

高级搜索树(B树 删除)

邓俊辉 数据结构 高级搜索树下_第9张图片
邓俊辉 数据结构 高级搜索树下_第10张图片
邓俊辉 数据结构 高级搜索树下_第11张图片
邓俊辉 数据结构 高级搜索树下_第12张图片
邓俊辉 数据结构 高级搜索树下_第13张图片
邓俊辉 数据结构 高级搜索树下_第14张图片
邓俊辉 数据结构 高级搜索树下_第15张图片
邓俊辉 数据结构 高级搜索树下_第16张图片
邓俊辉 数据结构 高级搜索树下_第17张图片
邓俊辉 数据结构 高级搜索树下_第18张图片
问题:删除操作时为什么不可以连续旋转
当左右兄弟都没有足够多关键码时,需进行合并操作。

但是当其右兄弟的右兄弟(或者左左)有足够多的关键码时,为什么不能通过进行两次旋转操作来完成删除操作?(by 易笑天)
答:

你的想法也能保证完成后是一颗 B-树,但是

一、从代码量上说

原策略:左右兄弟都没有足够多关键码,就合并

新策略:优先找兄弟的兄弟,找不到再合并

对比:要多写找有足够多关键码兄弟的兄弟的代码、两次旋转的代码,同时也免不了写找不到的情况的合并代码。

二、从效率上说

原策略:只涉及 2 个节点

新策略:兄弟的兄弟在 m 阶 B-数里涉及 O(m) 个节点(by yuantailing 老师)

高级搜索树(红黑树 一致性)

邓俊辉 数据结构 高级搜索树下_第19张图片
邓俊辉 数据结构 高级搜索树下_第20张图片
红色的线表示共享的元素,蓝色的线表示变化的元素,要额外存储副本
邓俊辉 数据结构 高级搜索树下_第21张图片
AVL树
邓俊辉 数据结构 高级搜索树下_第22张图片
邓俊辉 数据结构 高级搜索树下_第23张图片
邓俊辉 数据结构 高级搜索树下_第24张图片
问:为什么说红黑树可以实现对历史版本的访问?
RT,在网上搜索了没有答案,看视频也没有明白对历史版本的访问为什么就和红黑树联系在一起了,老师可以说明一下吗?(红黑树动态操作分摊花费O(1),因此回滚操作比如加入一个结点后又删除结点可以复原原来的树的样貌,是这样的吗?)(by Seasoooooon931692 )
答:见讲义《红黑树 持久性》这一节。(在我这个版本的讲义里是 08-C1,我们的章节可能会有所不同)

红黑树的插入、删除操作至多进行一次结构调整(尽管可能有 O(logn) 次重染色),相邻版本之间的拓扑结构差异不超过 O(1),所以保存 m 个版本与只保存最终版本相比,所需额外空间仅为 O(m)。(by yuantailing 老师)

高级搜索树(红黑树 结构)

邓俊辉 数据结构 高级搜索树下_第25张图片
邓俊辉 数据结构 高级搜索树下_第26张图片
邓俊辉 数据结构 高级搜索树下_第27张图片
邓俊辉 数据结构 高级搜索树下_第28张图片
邓俊辉 数据结构 高级搜索树下_第29张图片
题目:关于b-树与红黑树
b-树可以有效弥补不同存储级别之间,访问速度的巨大差异.b-树实际多用于数据库,操作系统中的文件系统.

红黑树是一种持久数据结构,可以应用于核电站,医院等对可靠性,稳定性要求极高的场合,根据wiki上红黑树的介绍,红黑树适用于实时应用,上述场景(核电站,医院)理解为实时应用…其他方面可以构建关联数组(哈希表).

问题:实时应用中也会有多级存储,那么这时候是用红黑树还是用b-树呢? 或者是他们两个能否结合起来使用,如果可以又该怎么结合呢?
(by 。。。790901 )
答:
红黑树多用在内部排序,即全放在内存中的,微软STL的map和set的内部实现就是红黑树。 B树多用在内存里放不下,大部分数据存储在外存上时。因为B树层数少,因此可以确保每次操作,读取磁盘的次数尽可能的少。

在数据较小,可以完全放到内存中时,红黑树的时间复杂度比B树低。 反之,数据量较大,外存中占主要部分时,B树因其读磁盘次数少,而具有更快的速度。

摘自 https://blog.csdn.net/benpaobagzb/article/details/50805711

高级搜索树(红黑树 插入)

邓俊辉 数据结构 高级搜索树下_第30张图片
邓俊辉 数据结构 高级搜索树下_第31张图片
邓俊辉 数据结构 高级搜索树下_第32张图片
邓俊辉 数据结构 高级搜索树下_第33张图片
邓俊辉 数据结构 高级搜索树下_第34张图片
邓俊辉 数据结构 高级搜索树下_第35张图片
邓俊辉 数据结构 高级搜索树下_第36张图片
邓俊辉 数据结构 高级搜索树下_第37张图片

高级搜索树(红黑树 删除)

邓俊辉 数据结构 高级搜索树下_第38张图片
邓俊辉 数据结构 高级搜索树下_第39张图片

相当于删除了一条虚边,不影响黑高度
邓俊辉 数据结构 高级搜索树下_第40张图片
邓俊辉 数据结构 高级搜索树下_第41张图片
邓俊辉 数据结构 高级搜索树下_第42张图片
邓俊辉 数据结构 高级搜索树下_第43张图片
邓俊辉 数据结构 高级搜索树下_第44张图片
邓俊辉 数据结构 高级搜索树下_第45张图片
邓俊辉 数据结构 高级搜索树下_第46张图片
邓俊辉 数据结构 高级搜索树下_第47张图片
邓俊辉 数据结构 高级搜索树下_第48张图片
邓俊辉 数据结构 高级搜索树下_第49张图片
邓俊辉 数据结构 高级搜索树下_第50张图片
邓俊辉 数据结构 高级搜索树下_第51张图片
邓俊辉 数据结构 高级搜索树下_第52张图片
邓俊辉 数据结构 高级搜索树下_第53张图片

你可能感兴趣的:(数据结构)