数据结构--B树以及B+树

本文详细介绍了B树与B+树的数据结构特性,包括它们的定义、节点定义、高度计算以及插入、删除操作。B+树在文件系统和数据库中更具优势,因为它具有较低的磁盘读写代价、查询效率更稳定以及利于数据库的全范围扫描。
摘要由CSDN通过智能技术生成

数据结构–B树以及B+树

1 B树B+树的区别

B 树

1什么是B树
B 树是为了磁盘或其它存储设备而设计的一种多叉(下面你会看到,相对于二叉,B树每个内结点有多个分支,即多叉)平衡查找树B树与红黑树最大的不同在于,B树的结点可以有许多子女,从几个到几千个。B树可以在O(logn)时间内,实现各种如插入(insert),删除(delete)等动态集合操作。
如下图所示,即是一棵B树,一棵
关键字
为英语中辅音字母的B树,现在要从树种查找字母R(包含n[x]关键字内结点x, x有n[x]+1]个子女(也就是说,一个内结点x若含有n[x]个关键字,那么x将含有n[x]+1个子女)。所有的叶结点都处于相同的深度,带阴影的结点为查找字母R时要检查的结点):
在这里插入图片描述
B 树又叫平衡多路查找树。一棵m阶的B 树的特性如下
1、 树中每个结点最多含有m个孩子(m>=2);
2、 除根结点和叶子结点外,其它每个结点至少有[ceil(m / 2)]个孩子(其中ceil(x)是一个取上限的函数);
3、 若根结点不是叶子结点,则至少有2个孩子(特殊情况:没有孩子的根结点,即根结点为叶子结点,整棵树只有一个根节点);
4、 所有叶子结点都出现在同一层,叶子结点不包含任何关键字信息
5、 每个非终端结点中包含有n个关键字信息: (n,P0,K1,P1,K2,P2,…,Kn,Pn)。其中:
a) Ki (i=1...n)为关键字,且关键字按顺序升序排序K(i-1)< Ki
b) Pi为指向子树根的接点,且指针P(i-1)指向子树种所有结点的关键字均小于Ki,但都大于K(i-1)
c) 关键字的个数n必须满足: [ceil(m / 2)-1]<= n <= m-1。如下图所示:
在这里插入图片描述
2 B树的类型和节点定义
B树的类型和节点定义如下图所示:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值