【数据结构】红黑树前置知识——4阶B树

学习目标:

  • 学习4阶B树,使我们更好地理解为何红黑树进行平衡时的操作缘由,理清我们红黑树平衡时局部与整体的关系。

特别说明!!!

1 这里说的4阶B树是针对学习红黑树时对B树进行一定修改得到的4阶B树,真正的M阶B树的关键字是没有颜色属性的,也不存在本文所说的某些性质。
2 具体如为何加入颜色属性,颜色的意义,为何如此操作的细节不是本文的学习目标,不作探讨,可以自行去阅读相关的内容。

学习内容:

  1. 节点&关键字
  2. 4阶B树性质
  3. 4阶B树的成长
  4. 4阶B树和红黑树的转换关系

一. 节点&关键字

1.1 4阶B树的节点类型

二节点:内部有1个关键字,可以连接两个节点,关键字颜色必然是黑色。
在这里插入图片描述

三节点:内部有2个关键字,可以连接三个节点,关键字颜色顺序可以是:红黑,黑红。
在这里插入图片描述

四节点:内部有3个关键字,可以连接四个节点,关键字颜色顺序只有:红黑红。
在这里插入图片描述

1.2 关键字

关键字即节点内部的元素,关键字具备数值和颜色两种属性,关键字按数值的升序排列。

二. 4阶B树性质

  1. 对于非叶节点,当该节点是n节点时,它必须有n-1个关键字和n个孩子
  2. 所有的叶子结点都位于同一层,即叶节点对齐。叶节点是没有子节点的节点。

三. 4阶B树的成长

为了对标红黑树,我们让插入的节点都是红色的。
二节点:在黑色节点左边或右边插入节点即可,进而转换为三节点。
在这里插入图片描述

三节点:有6种情况,分别如下图所示
在这里插入图片描述

四节点:在染色的时候,我们要注意以修改最少数目的关键字的颜色为目的进行修改,如下图最左:很显然把三节点的颜色互换也是一种方案,但这需要修改3个关键字的颜色,以下图的修改方案,只需要修改2个关键字的颜色。
在这里插入图片描述

四. 4阶B树和红黑树的转换关系

转换关系很难用言语表达,但是通过图片示例简单地发现其规律
二节点:不变
三节点
在这里插入图片描述

四节点
在这里插入图片描述

结语

本文没有讨论4阶B树的删除,因为我们的目标是红黑树,单纯地讨论4阶B树没有太大意义。至于在此讨论添加关键字的原因,是因为通过学习4阶B树和红黑的转换关系后回头看关键字的添加及修正,可以很直观地得到添加关键字后如何进行修正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值