我在大二上学期的数据结构实验设计中选择了B树这个题目,该B树的数据结构实现采用了C语言。趁现在寒假整理完写一篇博文记录我的学习。文末提供了项目源代码的地址。
B树的定义
一棵m阶B树(Balanced Tree of order m),或为空树,或为满足下列特性对的m叉树。
- 树中每个结点最多含有m棵子树。
- 若根结点不是叶子结点,则至少有2个子树。
- 除根结点之外的所有非终端结点至少有 ⌈m/2⌉ ⌈ m / 2 ⌉ 棵子树。
- 每个非终端结点中包含信息:( n,A0,K1,A1,K2,A2,…,Kn,An n , A 0 , K 1 , A 1 , K 2 , A 2 , … , K n , A n )。其中:
- Ki(1≤i≤n) K i ( 1 ≤ i ≤ n ) 为关键字,且关键字按升序排序。
- 指针 Ai(