2018-08-02 B树 B+树

B树是一种多路平衡查找树,一个m阶的B树的性质如下:

  1. 每一个节点至多有m个孩子
  2. 根节点的孩子数量最小为2,其余节点的孩子数量最小为 m/2 (向上取整)
  3. 节点中关键字的数量为 m/2 - 1 至 m - 1
  4. 所有叶子节点都在同一层

B+树是B树的变种,与B树的差异在于:

  1. 非叶子结点的子树指针与关键字个数相同
  2. 所有关键字都在叶子结点出现
  3. 叶节点是相连的

B+树的优势:

  1. 中间节点不保存数据,能容纳更多元素
  2. 对于范围查找来说,b+树只需遍历叶子节点链表即可,b树却需要重复地中序遍历。

MySql中InnoDB索引使用的就是 B+树

Written on August 2, 2018