是一种比AVL树更平衡的树。
一颗m阶B树满足以下特点:

B树的优势体现在数据量非常大的搜索场景中。
常在文件索引系统,数据库索引中应用。
大数据量搜索会有如下问题:
数据量非常大 --> 磁盘会给数据创建索引 --> 给数据进行排序,加速搜索
需要解决两个问题:
1、更少的磁盘I/O
假设有n个索引需要从磁盘中进行读取并且搜索
用AVL树,平均高度为
l
o
g
2
n
log_2n
log2n
用300阶B树,平均高度为
l
o
g
300
n
log_{300}n
log300n,每一层代表一次磁盘I/O
2、更快的搜索算法
在B树中因为节点关键字有序,所以用二分搜索也比较高效。
B+树是B树的一种变形,
和B树的区别:
是B+树的变体,在B+树的非根和非叶子结点再增加指向兄弟的节点,
B*树分配新节点的概率比B+树低,提高了结点的空间使用率。