B树和B+树

本文详细介绍了B树和B+树的概念、性质、高度计算、插入与删除操作,以及两者之间的主要区别,帮助读者深入理解这两种常用的数据结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

B树

1、B树

B树,又称多平衡树,其所有节点的孩子最大值称B树的阶,m阶B树:

  1、树中每个结点最多有m棵子树。

  2、若根节点不是叶子结点,则至少有两棵树。

  3、非叶子和根结点至少有[m/2]取上值,也就是说至少含有[m/2]取上值-1个结点。

  4、所有的叶结点都出现在同一层次,且不带信息。

2、B树的高度

  n个关键字、高度为h、阶数为m的B树高度为:logm(n+1)<=h<=log[m/2]取上值((n+1)/2)+1

3、B树的插入

4、B树的删除

B+树

B+树的基本概念

一棵m阶B+树需要满足以下条件:

  1、每个分支结点最多有m棵树

  2、非叶根结点至少有两棵树,其他每个分支结点至少有[m/2]取上值棵子树

  3、结点的子树个数于关键数个数相同

  4、所有的叶结点包含全部的关键字以及指向相应记录的指针,而且叶结点将关键字按照大小顺序排列,并且相邻叶结点按大小顺序相互链接起来。

  5、所有的分支结点中仅包含它的各个子结点中关键字的最大值及其子结点的指针

B+树插入和删除和B树类似。只是在查找的过程中,如果非叶结点的关键字等于给定值时并不终止,而是继续向下查找直到叶结点上的该关键字为止。

 

m阶B树和B+树的差别:

  1、B+树中,n个关键字结点只含有n棵树,及每个关键字对应一颗子树;而B树中,具有n个关键字的结点含有n+1棵子树。

  2、在B+树中,每个结点关键字个数的范围是:[m/2]取上值~m,根结点范围是:1~m;在B树中,每个结点关键字个数的范围是:[m/2]取上值-1~m-1,根结点范围是:1~m-1;

  3、在B+树中,叶结点包含所有信息,所有非叶结点仅起到索引作用,非叶结点中的每个索引项含有对应子树中的最大关键字和指向该子树的指针,不含有该关键字对应记录的存储地址。

  4、在B+树中,叶结点包含了所有的关键字,非叶结点关键字也包含在叶子结点中;而B树中,叶结点包含的关键字和其他结点包含的关键字是不重复的。

转载于:https://www.cnblogs.com/ybf-yyj/p/9511468.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值