与分块查找和B树类似。
一棵m阶的B+树需满足如下条件:
- 每个分支结点最多有m棵子树
- 非叶子结点的根结点至少有两棵子树,其他结点至少有 ⌈ m / 2 ⌉ \lceil m/2\rceil ⌈m/2⌉棵子树
- 结点的子树个数与关键字个数相等
- 关键字全部存储在叶子结点中。所有指向对应记录的指针也存储在叶子结点中。叶子结点内部按关键字大小排序,并且相邻叶子结点按大小顺序链接起来
- B+树中,无论查找成功与否,最终一定都要走到最下面一层结点(分支结点不存储关键字)
- 结点中的存储n个数据,对应n棵子树
- 根结点的数据数
n
∈
[
1
,
m
]
n\in[1,m]
n∈[1,m]
其他结点的数据数 n ∈ [ ⌈ m / 2 ⌉ , m ] n\in[\lceil m/2\rceil,m] n∈[⌈m/2⌉,m] - 叶子结点包含信息,所有非叶子结点仅起索引作用