赞
踩
1 这里说的4阶B树是针对学习红黑树时对B树进行一定修改得到的4阶B树,真正的M阶B树的关键字是没有颜色属性的,也不存在本文所说的某些性质。
2 具体如为何加入颜色属性,颜色的意义,为何如此操作的细节不是本文的学习目标,不作探讨,可以自行去阅读相关的内容。
二节点:内部有1个关键字,可以连接两个节点,关键字颜色必然是黑色。
三节点:内部有2个关键字,可以连接三个节点,关键字颜色顺序可以是:红黑,黑红。
四节点:内部有3个关键字,可以连接四个节点,关键字颜色顺序只有:红黑红。
关键字即节点内部的元素,关键字具备数值和颜色两种属性,关键字按数值的升序排列。
为了对标红黑树,我们让插入的节点都是红色的。
二节点:在黑色节点左边或右边插入节点即可,进而转换为三节点。
三节点:有6种情况,分别如下图所示
四节点:在染色的时候,我们要注意以修改最少数目的关键字的颜色为目的进行修改,如下图最左:很显然把三节点的颜色互换也是一种方案,但这需要修改3个关键字的颜色,以下图的修改方案,只需要修改2个关键字的颜色。
转换关系很难用言语表达,但是通过图片示例简单地发现其规律
二节点:不变
三节点
四节点
本文没有讨论4阶B树的删除,因为我们的目标是红黑树,单纯地讨论4阶B树没有太大意义。至于在此讨论添加关键字的原因,是因为通过学习4阶B树和红黑的转换关系后回头看关键字的添加及修正,可以很直观地得到添加关键字后如何进行修正。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。