B-树即B-tree(B树):多路搜索树,它是一种平衡的多叉树

B和B+树

1. 根结点(不是叶子节点)的儿子数为[2, M]
2.每个结点存放至少M/2和至多M-1个关键字;(至少2个关键字,根节点至少一个关键字)
3.限制了除根结点以外的非叶子结点,至少含有ceil(M/2)(取上限)个儿子,确保了结点的至少利用率;M为设定的非叶子节点最多子树个数。由于M/2的限制,在插入结点时,如果结点已满,需要将结点分裂为两个各占M/2的结点;删除结点时,需将两个不足M/2的兄弟节点合并.
4.所有叶子节点位于同一层

B+

B和B+树

B+树比B树增添了first指针,叶子结点之间相互指向。

B*

B和B+树

B*树比B+树非根和非叶子结点增加指向兄弟结点的指针;也就是一个结点已满时不需要分裂,当一层结点均满时才需要分裂,减少了分裂的次数。


相关文章: