B树与B+树

B树

B树,又称多路平衡查找树,B树中所有结点的孩子个数的最大值称为B树的,通常用m表示。一棵m阶B树或为空树,或为满足如下特性的m叉树:

  1. 树中每个结点至多有m棵子树,即至多含有m-1个关键字

  2. 若根节点不是终端节点,则至少有两棵子树

  3. 除根节点外的所有非叶节点至少有[m-2](向上取整)棵子树,即至少含有[m-2]+1个关键字。

  4. 所有的叶子节点都出现在同一层,并且不带信息(可以视为外部节点或类似于折半查找判定树的查找失败节点,实际上这些节点不存在,指向这些节点的指针为空)。

  5. 所有非叶节点的结构如下:

    nP0K1P1K2P2KnPn

    其中,Ki(i = 1, 2, ..., n)为节点的关键字,且满足K1<K2<...<KnPi(i = 0, 1, ..., n)为指向子树根节点的指针,且指针Pi-1所指子树中所有结点的关键字均小于Ki,Pi所指子树中所有结点的关键字均大于Ki,n([m-2] - 1 <= n <= m-1)为结点中关键字的个数。

核心特性

  1. 根节点的 子树数 ∈ [ 2 , m ] 子树数\in[2, m] 子树数[2,m], 关键字数 ∈ [ 1 , m − 1 ] 关键字数\in[1, m-1] 关键字数[1,m1]

    其他结点的 子树数 ∈ [ [ m − 2 ] , m ] 子树数\in[[m-2], m] 子树数[[m2],m]; 关键字数 ∈ [ [ m − 2 ] − 1 , m − 1 ] 关键字数\in[[m-2]-1, m-1] 关键字数[[m2]1,m1]

  2. 对任一结点,其所有子树的高度都相同

  3. 关键字的值:子树0<关键字1<子树1<关键字2<子树2<…

B树与B+树的区别

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-82FdtTFs-1679669556283)(C:\Users\17400\AppData\Roaming\marktext\images\2023-03-17-20-45-20-image.png)]

                                                              以上是一棵5阶B树

m阶B树

  1. 结点中的n个关键字对应n+1棵子树

  2. 根节点的关键字数 n ∈ [ 1 , m − 1 ] n\in[1, m-1] n[1,m1]

    其他节点的关键字数 n ∈ [ [ m / 2 ] − 1 , m − 1 ] n\in[[m/2]-1, m-1] n[[m/2]1,m1]

m阶B+树:

  1. 结点中的n个关键字对应n棵子树

  2. 根节点的关键字数 n ∈ [ 1 , m ] n\in[1, m] n[1,m]

    其他节点的关键字数 n ∈ [ [ m / 2 ] − 1 , m ] n\in[[m/2]-1, m] n[[m/2]1,m]

  3. B+树中,叶结点包含全部关键字,非叶节点中出现过的关键字也会出现在叶结点中

1, m]$。

  1. B+树中,叶结点包含全部关键字,非叶节点中出现过的关键字也会出现在叶结点中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值