B - 树(Balance Tree)
二叉查找树的时间复杂度是O(log(n)) 已经够快了,但是二叉查找树的查找速度取决于树的高度。
B - 树,每个节点包含最多k个孩子,k被称为阶,k的大小取决于磁盘页的大小。
一个 m 阶的 B 树具有如下几个特征
- 根节点至少有两个子女。
- 每个中间节点包含k-1个元素和k个孩子,其中m/2 <= k <= m
- 每个叶子节点都包含k-1个元素,其中 m/2 <= k <=m
- 所有叶子节点都位于同一层
- 每个节点中的元素从小到大排列,节点当中 k-1 个元素正好是 k 个孩子包含的元素的值域分划。
B+树
在b-树基础上进行改造,将索引全部建在叶子节点上,非叶子节点指向叶子节点的大小。