多路查找树 ( multi-way search tree ) :其每一个结点的孩子数可以多余两个,且每一个结点处可以存储多个元素。
2-3 树
2-3 树:是这样的一棵多路查找树:其中的每一个结点都具有两个孩子(我们称它为 2 结点)或三个孩子(我们称它为 3 结点)。一个 2 结点包含一个元素和两个孩子(或没有孩子)。一个 3 结点包含一小一大两个元素和三个孩子(或没有孩子)。
B树
B树 ( B-tree ) 是一种平衡的多路查找树,2-3 树和 2-3-4 树都是 B 树的特例。结点最大的孩子数目称为 B 树的阶 ( order ),因此,2-3 树是 3 阶 B 树,2-3-4 树是 4 阶 B 树。
一个 m 阶的 B 树具有如下属性:
- 如果根节点不是叶节点,则其至少有两颗子树。
- 每一个非根的分支节点都有 k-1 个元素和 k 个孩子,其中 [ m/2 ] ≤ k ≤ m 。每一个叶子结点 n 都有 k -1 个元素,其中 [ m/2 ] ≤ k ≤ m 。
- 所有叶子结点都位于同一层次。
- 所有分支结点包含下列信息数据(n,A₀,K₁,A₁,K₂,A₂,…,Kₙ,Aₙ),其中:Kᵢ ( i = 1,2,…,n ) 为关键字,且 K < Kᵢ₊ₗ (i=1,2,…,n-1 ) ;A ( i = 0,2,…,n ) 为指向子树根结点的指针,且指针 Aᵢ₋ₗ 所指子树中所有结点的关键字均小于 Kᵢ ( i=1,2,…,n),Aₙ 所指子树中所有结点的关键字均大于 Kₙ ( [ m/2] -1 ≤ n ≤ m-1) 为关键字的个数 ( 或n+1为子树的个数 )。