课本源码部分
第9章 查找 - B树
——《数据结构》-严蔚敏.吴伟民版
源码使用说明 链接☛☛☛ 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明
课本源码合辑 链接☛☛☛ 《数据结构》课本源码合辑
习题集全解析 链接☛☛☛ 《数据结构题集》习题解析合辑
本源码引入的文件 链接☛ Base.c
文档中源码及测试数据存放目录:数据结构\▲课本算法实现\▲09 查找\08 B-Tree
概述
B树、B-树、B_树是一个概念,只是书写方式不同,可读作B树。注意没有B-树。
B树是一种平衡的多路查找树,它在文件中很有用。
解析
注意说到B树的阶时,以每个结点至多可容纳的子树数目为依据。如下图为一棵深度为3,阶数为3的B树:
一棵m阶的B树,或为空树,或为满足下列特征的m叉树:
(1)树中每个结点至多有m棵子树;
(2)若根结点不是叶子结点,则至少有两棵子树;
(3)除根之外的所有非终端结点至少有┏m/2┓棵子树;
(4)所有非终端结点中包含下列信息数据:
(n,A0,K1,A1,K2,A2,...,Kn,An)
其中,Ki为关键字,Ai为指向子树的指针。
(5)所有叶子结点都出现在同一层次上,并且不带信息(可以看做是外部结点或查找失败的结点,实际上这些结点不存在,指向这些结点的指针为空)。