一、B树(B-Tree)介绍
1.1 B树(B-Tree)是什么?
B树(B-Tree)是一种常用的、高效的、自平衡的树形数据结构
B树(B-Tree)是一种 平衡查找树
B树(B-Tree)是一种多路搜索树
1.2 B树(B-Tree)的用途
B树(B-Tree)适用于外部存储
B树(B-Tree)主要用于磁盘存储和文件系统
B树(B-Tree)可以高效地进行文件索引和数据库索引。
B树(B-Tree)可用于在磁盘上高效地存储和检索大量数据。
B树(B-Tree)适用于需要存储实际数据的场景
1.3 B树(B-Tree)的内部结构
B树的每个结点可以存储多个元素,插入和删除操作比较快
- 内部节点可以保存实际的数据
- 内部节点保存关键字和指向子节点的指针,
- 叶子节点保存关键字和指向数据节点的指针
- 叶子节点都保存数据和指向下一个叶子节点的指针。
- 每个节点保存指向下一个叶子节点的指针
- 每个节点可以保存多个关键字和指针
- 每个节点包含一个指向其子节点的指针列表,以及一个指向其关联元素的指针。
- 每个节点可以拥有多个子节点,每个节点可以存储多个元素,
- 每个节点的子节点数是固定的,通常为M(M为一个较大的整数,如M=16)
1.4 B树(B-Tree)的优点
在插入和删除元素时不需要旋转结点,因此插入和删除操作比较快。
二、B+树(B+ Tree)介绍
2.1 B+树(B+ Tree)是什么?
B+树是一种常用的、高效的、自平衡的树形数据结构
B+树是一种 平衡查找树
B+树是B树的变体,它是一种平衡查找树
2.2 B+树(B+ Tree)的用途
B+树(B+ Tree)适用于外部存储,
B+树(B+ Tree)可用于高效地存储和检索大量数据
B+树(B+ Tree)主要用于磁盘存储和文件系统,
B+树(B+ Tree)适用于需要快速查找和排序的场景。
B+树(B+ Tree)可以高效地进行文件索引和数据库索引。
2.3 B+树(B+ Tree)的内部结构
每个节点的子节点数是固定的,查询时可以快速定位到某个元素所在的结点。
- B+树中,内部节点只保存关键字和指向子节点的指针。
- 内部节点都保存关键字和指向子节点的指针。
只有叶子节点保存实际的数据。
叶子节点都保存数据和指向下一个叶子节点的指针。
叶子节点只保存关键字和指向下一个叶子节点的指针。
只有叶子节点保存指向下一个叶子节点的指针。
每个节点只能保存一个关键字和多个指针。
每个节点可以拥有多个子节点
每个节点可以存储多个元素。
每个节点包含一个指向其子节点的指针列表,以及一个指向其关联元素的指针。
每个节点的子节点数也是固定的,通常为M(M为一个较大的整数,如M=16)。
2.4 B+树(B+ Tree)的优点
在查询时可以快速定位到某个元素所在的结点,因为B+树的每个结点包含了其子结点所包含的元素的一个子集,而且每个结点的子结点数是固定的。