一颗N阶的B-Tree树中各个节点的关键码的个数不能超过N-1,各个节点的孩子节点数不能超过N。
执行插入38操作:
由于被插入的节点中关键码的个数超过了2,则执行分裂,分裂的过程如下:
将37左边和右边两边分隔开,37提升。
B+Tree
在B-Tree的基础上的变种。
1 N个关键码对应N个子树,即关键码与子树一一对应。
2 关键码为子树关键码中最大的值,即不存在两个关键码之间还存在一个子树。
3 终端节点通过单链表连接起来,并且设置了头指针。
2−3树可以有1、2个关键码,对应2、3个子树,存在介于两个关键码之间存在一个子树,所以叫2−3树\color{#FF0000}{2-3树可以有1、2个关键码,对应2、3个子树,存在介于两个关键码之间存在一个子树,所以叫2-3树}2−3树可以有1、2个关键码,对应2、3个子树,存在介于两个关键码之间存在一个子树,所以叫2−3树
m阶B树,每个节点最多有m−1个关键码,m个子树,存在介于两个关键码之间存在一个子树。\color{#FF0000}{m阶B树,每个节点最多有m-1个关键码,m个子树,存在介于两个关键码之间存在一个子树。}m阶B树,每个节点最多有m−1个关键码,m个子树,存在介于两个关键码之间存在一个子树。
m阶B+树,每个节点最多有m个关键码,最多有m个子树,不存在介于两个关键码之间存在一个子树,\color{#FF0000}{m阶B+树,每个节点最多有m个关键码,最多有m个子树,不存在介于两个关键码之间存在一个子树,}m阶B+树,每个节点最多有m个关键码,最多有m个子树,不存在介于两个关键码之间存在一个子树,
关键码永远大于子树中的关键码\color{#FF0000}{关键码永远大于子树中的关键码}关键码永远大于子树中的关键码