2-3查找树(三):全局性质和轨迹图例

本文探讨了2-3树的局部变换操作如何保证其全局有序性和完美平衡性。通过插入示例解释了局部调整对整体结构的影响,并提供了构造轨迹图例和理论论证。理解这些特性有助于进一步学习红黑树,因其与2-3树紧密相关。

1. 局部变换和全局性质

通过之前插入操作的讲解,我们可以发现这么一个现象:

几乎所有的插入情况,都是局部变换。每次变换中,变更的链接数量不会超过一个很小的常数。每个变换都会将4-结点中的一个键送入它的父结点中,并重构相应的链接而不必涉及树的其他部分。1

那么,这种局部变换操作是不是能保证2-3树全局的有序性和完美平衡性呢?

首先,关于有序性,这个是每个变换操作保证了的,无论我们是将原来2-结点变成3-结点,还是将3-结点变成临时4-结点,或是将4-结点分解成3个2-结点,我们在变换的过程中,都保证了所有涉及键的有序性,所以整棵2-3树的有序性,也能得到保证。

其次,关于完美平衡性。我们发现,2-结点变成3-结点是不会有任何变换,也不会改变树的结构,所以不会影响完美平衡性。唯一能影响树平衡性的只有分解4-结点,但是只有4-结点在根的情况下,我们才进行分解,其余情况都是向上把中键“踢”给父级。所以该层的子节点也是平衡的。那么,4-根节点的分解也不会造成树的不平衡,因为之前我们说过,分解之后,所有左右子树高度都加1,“众生皆平等”原则,所以分解之后的树,虽然高度加1了,但还是完美平衡的。

感兴趣的童鞋,可以深入阅读以下教材上面( 3.3.1.7 局部变换 和 3.3.1.8 全局性质1)关于这部分的论证和图例,加深理解。但是上面说的论据已经能充分说明2-3树的插入局部变换,是能保证2-3树全局的有序性和完美平衡性。

2. 2-3树的构造轨迹图例

这里给到一个2-3树的构造轨迹图例1,大家可以自己跟着自己构造一棵2-3树,加深对2-3树插入操作的理解。

在这里插入图片描述
到此,2-3树的讲解全部结束啦,坚持看到这里小伙伴们,恭喜啦哒,你已经对红黑树有了一定的了解啦!嗯?红黑树不还是只字未提么?怎么就有一定了解了呢?这是因为红黑树是2-3树的一种等价实现结构,所以熟悉了2-3树,一定程度上也就熟悉了红黑树。

这部分理论知识偏多,所以相对比较枯燥。那么,接下来我们将正式进入红黑树的讲解,我们将来看看如何用BST和代码来实现2-3树的设计理念。继续加油啦哒~


上一节:2-3查找树(二):插入
下一节:红黑树(一):基本概念和数据结构
系列汇总:超详细!红黑树详解文章汇总(含代码)

3. 特别感谢

  1. 感谢 @SENNICHEN 制作系列文章封面图

4. 免责声明

※ 本文之中如有错误和不准确的地方,欢迎大家指正哒~
※ 此项目仅用于学习交流,请不要用于任何形式的商用用途,谢谢呢;


在这里插入图片描述


  1. Algorithms 4th Edition ↩︎ ↩︎ ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值