11.3.2 B-树 一、B树的定义 一棵"m 阶的B树"或为空树,或为具有以下特性的 m 叉查找树: (1)树中每个结点至多有 m 棵子树; (2)除根以外的所有非叶结点至少有 m/2 棵子树,根结点若是非叶结点,则至少有两棵子树; (3)所有的非叶结点中含有如下信息: (n,A0,(K1,D1),A1,(K2,D2),……,An-1,(Kn,Dn),An) 其中:(Ki,Di)(i=1,…,n)为索引项,且 Ki<Ki+1(i=1,…,n-1); Ai(i=0,…,n) 为指向子树根结点的指针,且 Ai-1 所指子树中所有索引项的关键码小于 Ki(i=1,…,n),An 所指子树中索引项的关键码大于 Kn,n(m/2-1≤n≤m-1) 为结点中索引项的个数; (4)所有叶结点都在同一层上,且不含任何信息。 如图所示为一棵4阶的B树,其深度为4(即第4层为不带任何信息的叶子结点),图中省却了物理记录的指针 Di。 |
可见,和二叉查找树类似,B树也是一种查找树,其本身是一种有序结构,因此建立索引之后不需要再排序,并从下一页B树操作的叙述可见,插入或删除记录时修改索引也很方便。 |