第七章 查找 八、B树

目录

一、定义

二、B树的核心特性

1、B树各个结点的子树数和关键字数

2、子树高度

3、关键字的值

4、B树高度

三、B树的插入

四、B树的删除


一、定义

B树,又称多路平衡查找树,B树中所有结点的孩子个数的最大值称为B树的阶,通常用m表示。

一棵m阶B树或为空树,或为满足如下特性的m叉树:

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

2)若根结点不是终端结点,则至少有两棵子树。

3)除根结点外的所有非叶结点至少有「m/2]棵子树,即至少含有「m/2]-1个关键字。

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

注意:在B树中,所有子树的高度都必须相同,也就是说它们的平衡因子都为0,这样才能保证B树的查找效率。

二、B树的核心特性

1、B树各个结点的子树数和关键字数

根节点的子树数∈2, m,关键字数∈1, m-1

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

2、子树高度

对任意结点,其所有子树高度都相同。

3、关键字的值

左<中<右

4、B树高度

含n个关键字的m叉B树,

三、B树的插入

四、B树的删除

相关推荐
dtq04246 分钟前
C语言刷题数组5,6(求平均值,求最大值)
c语言·数据结构·算法
洛水水1 小时前
【力扣100题】81.寻找两个正序数组的中位数
数据结构·算法·leetcode
Coder-magician2 小时前
《代码随想录》刷题打卡day15:二叉树part05
数据结构·c++·算法
Darling噜啦啦2 小时前
二叉树与递归算法实战:从树结构到 LeetCode 爬楼梯,一文吃透前端数据结构与递归思维
前端·javascript·数据结构
Irissgwe2 小时前
算法的时间复杂度和空间复杂度
数据结构·c++·算法·c·时间复杂度·空间复杂度
qq_297574673 小时前
设计模式系列文章(基础篇第22篇):访问者模式——分离数据结构与操作,实现灵活扩展
数据结构·设计模式·访问者模式
云淡风轻~窗明几净3 小时前
角谷猜想的任意算法测试
数据结构·人工智能·算法
代码中介商3 小时前
关键路径解析:项目管理的工期奥秘
数据结构
love_muming4 小时前
链表每日一练
java·开发语言·数据结构·链表·idea·每日一练
玖玥拾4 小时前
C/C++ 数据结构(二)双向链表
c语言·数据结构·c++