数据结构--BTree

数据结构--BTree_第1张图片

一颗N阶的B-Tree树中各个节点的关键码的个数不能超过N-1,各个节点的孩子节点数不能超过N。
执行插入38操作:
数据结构--BTree_第2张图片
由于被插入的节点中关键码的个数超过了2,则执行分裂,分裂的过程如下:
数据结构--BTree_第3张图片
将37左边和右边两边分隔开,37提升。
数据结构--BTree_第4张图片

B+Tree
在B-Tree的基础上的变种。
1 N个关键码对应N个子树,即关键码与子树一一对应。
2 关键码为子树关键码中最大的值,即不存在两个关键码之间还存在一个子树。
3 终端节点通过单链表连接起来,并且设置了头指针。
数据结构--BTree_第5张图片
2 − 3 树 可 以 有 1 、 2 个 关 键 码 , 对 应 2 、 3 个 子 树 , 存 在 介 于 两 个 关 键 码 之 间 存 在 一 个 子 树 , 所 以 叫 2 − 3 树 \color{#FF0000}{2-3树可以有1、2个关键码,对应2、3个子树,存在介于两个关键码之间存在一个子树,所以叫2-3树} 23122323
m 阶 B 树 , 每 个 节 点 最 多 有 m − 1 个 关 键 码 , m 个 子 树 , 存 在 介 于 两 个 关 键 码 之 间 存 在 一 个 子 树 。 \color{#FF0000}{m阶B树,每个节点最多有m-1个关键码,m个子树,存在介于两个关键码之间存在一个子树。} mBm1m
m 阶 B + 树 , 每 个 节 点 最 多 有 m 个 关 键 码 , 最 多 有 m 个 子 树 , 不 存 在 介 于 两 个 关 键 码 之 间 存 在 一 个 子 树 , \color{#FF0000}{m阶B+树,每个节点最多有m个关键码,最多有m个子树,不存在介于两个关键码之间存在一个子树,} mB+mm
关 键 码 永 远 大 于 子 树 中 的 关 键 码 \color{#FF0000}{关键码永远大于子树中的关键码}

你可能感兴趣的:(数据结构与算法)