算法:B-树 B+树

2017-12-14  本文已影响5人  Caolongs

B-树特征:

一个m阶的B树具有以下特征:

  1. 根节点至少有两个子女
  2. 每个中间节点都包含k-1个元素和k个孩子(m/2 <= k <= m)
  3. 每一个叶子节点都包含k-1个元素(m/2 < k < m)
  4. 所有的叶子节点都位于同一层
  5. 每个节点中的元素从小到大排列,节点当中k-1个元素正好是k个孩子包含的元素的值域划分

B-树应用

主要应用于文件系统及部分数据库索引,不如著名的非关系型数据库MongoDB


B-树

B+树特征:

  1. 有k个子树的中间节点包含k个元素(B书中是k-1个元素),每个元素不保存数
    据,只用来索引,所有数据都保存在叶子节点中。
  2. 所有叶子节点中包含了全部元素的信息,及指向含这些元素的记录的指针,且叶
    子节点本身依关键字的大小自小而大顺序链表。
  3. 所有的中间节点元素都同时存在于子节点,在子节点元素中是最大(或最小)元素。

B+树的优势:

  1. 单一节点存储更多的元素,使得查询的IO次数更少。
  2. 所有查询都要查找到叶子节点,查询性能稳定。
  3. 所有叶子节点形成有序链表,便于范围查找。
B+树
上一篇下一篇

猜你喜欢

热点阅读