多路查找树(B树)

B树

多路查找树,其每一个结点的孩子数可以多于两个,且每一个结点处可以存储多个元素。

B树(B-tree)是一种平衡的多路查找树。结点最大的孩子数目成为B树的阶(order)。

特点:

1.如果根结点不是叶结点,则其至少有两棵子树。

2.每一个非根的分支结点都有 k1 个元素和 k 个孩子,其中[m/2]km。(注: [m/2] 表示不小于 m/2 的最小整数)

3.所有叶子结点都位于同一层次。

4.所有分支结点包含下列信息数据 (n,A0,K1,A1,K2,A2,...,Kn,An) ,其中: Ki 为关键字,且 Ki<Ki+1 ; Ai 为指向子树根结点的指针,且 Ai 所指子树中所有结点的关键字均小于 Ki ,最后一个指针 An 所指子树的关键字大于 Kn n 为关键字的个数,其中[m/2]1nm1

示例:4阶的B树

B树

n 个关键字的m阶B树进行查找时,从根结点到关键字结点的路径上涉及的结点树不超过 log[m2](n+12)+1

B+树

在B树中,每一个元素在该树中只出现一次,有可能在叶子结点上,也可能在分支结点上。在B+树中,出现在分支结点中的元素会被当作他们在该分支结点位置的中序后继者(叶子结点)中,再次列出。另外,每一个叶子结点会保存一个指向后一叶子结点的指针。

示例:灰色关键字即是根结点中的关键字在叶子结点再次列出,并且所有叶子节点都链接在一起。

B+树

一棵 m 阶的B+树和m阶的B树的差异在于:

1.有 n 棵子树的结点中包含有n个关键字;

2.所有的叶子结点包含全部关键字的信息,及指向含这些关键字记录的指针,叶子结点本身依关键字的大小自小而大顺序链接;

3.所有分支结点可以看成索引,结点中仅含有其子树中的最大(或最小)关键字。

B+树的结构特别适合带有范围的查找。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值