B树系列(B+树、B*树)

B*树是B+树的一种变形,它更适合与实际应用中操作系统的文件索引和数据库索引

对于一个m阶B*树:(B+树和B*树唯一的区别即叶子节点有没有指向下一个叶子节点的指针)

除根节点外的内部节点,每个节点最多有m个关键字,最少有⌈m/2⌉个关键字,其中每个关键字对应一个子树

根节点要么没有子树,要么至少有两颗子树

所有叶子节点包含了全部的关键字以及这些关键字指向文件的指针,并且

      所有叶子节点的关键字按大小顺序排列

      相邻的叶子节点顺序链接(相当于构成了一个顺序链表)

      所有叶子节点在同一层

所有分支节点的关键字都是对应子树中关键字的最大值

B+树实例

B*树实例

生成一颗B*(m=3)树:6 10 4 14 5 11 15 3 2

1)插入前三个元素的时候,只需要在根节点中进行插入即可

      

2)插入14时,需要改变树结构

      

3)插入5

      

4)插入11

      

5)插入15

      

6)插入3

      

7)插入2

      

B+树与B树的不同之处在于,他的所有节点都存在叶子节点中,并且在B数据基础上还会维护一个指针用来指向下一个叶子节点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值