B/B+树
一、B树
B-Tree:M叉搜索树
B-Tree的特性:
1.每个结点最多含有m颗子树(指针),m-1个关键字(数据),m>=2;
2.除了根节点和叶子结点外,其他每个结点至少有ceil(m/2)个子节点,ceil为向上取整(分裂时使用);
3.若根节点不是叶子结点,则至少有两颗子树(所有叶子结点都在同一层上)
1.1.B树的构建(分裂操作)
向5阶B-Tree中插入:3 14 7 1 8 5 11 17 13 6 23 12 20 26 4 16 18 24 25 19
分裂操作->先将数字加进序列,再从正中间分开即可,如果加后序列变为偶数(偶数阶B树),则取中间两个数的前一个数进行分裂-> (m-1)/2的位置
二、B+树
B+Tree:M叉平衡搜索树
B+Tree的特性:
1.所有数据相关的值都在叶子结点,叶子结点通过双向链表连接,方便便利
2.非叶子结点只存储索引值(key,不存key对应的其他值)
3.数据和结点数量一样多