B树
- B数的b即是Balance的缩写,他是一种多路平衡搜索树
- B树的每个节点可以存放多条数据
- B树的节点可以有多个子节点
- B树中每个节点存放有索引和数据,数据遍布整棵树
- B树搜索可能在非叶子节点上,最好的情况是O(1)
B树与普通二叉树的区别
- 普通平衡二叉树节点最多只有两个子节点,B树有多个子节点
- 普通平衡二叉树每个节点只有一条数据,B树每个节点可以存放多条树
- 普通平衡二叉树数存储大数据层级高,一般B树3层即可存储百万条数据
B+树
- B+树内部节点只存储索引
- B+树叶子节点存储所有记录
- B+树叶子节点有下个节点指针,叶子节点类似于单向链表
B树与B+树的区别
- B数搜索不稳定,最好的情况是O(1),B+数搜索是稳定的,它的查询时间固定为log(n)
- B+数因为所有数据都存放在叶子节点,且有指针作为连接,对于区间的查询更有优势