数据结构与算法——第9章-查找表-B-树中插入关键字(9.9.2)
一 概述
1 | 1.B-树插入数据 |
二 B-树插入数据
1 | B-树也是从空树开始,通过不断地插入新的数据元素构建的。 |
三 插入数据演示
3.1 B-树
1 | 假设现在图 3 的基础上插入 4 个关键字 30、26、85 和 7: |
3.2 过程演示
一、插入关键字 30
1 | 从根结点开始,由于 30 < 45,所以要插入到以 b 结点为根结点的子树中, |
二、插入关键字 26
1 | 从根结点开始,经过逐个比较,最终判定 26 还是插入到 d 结点中,但是由于 d 结点中关键字的个数超过了 2, |
三、插入关键字 85
1 | 从根结点开始,经过逐个比较,最终判定插入到 g 结点中,同样需要对 g 做分裂操作: |
四、插入关键字 85
1 | 图 6 中,由于关键字 70 调整到其双亲结点中,使得其 e 结点中的关键字个数超过了 2,所以还需进一步调整: |
五、插入关键字 7
1 | 从根结点开始依次做判断,最终判定在 c 结点中添加,添加后发现 c 结点需要分裂,分裂规则同上面的方式一样, |
四 总结
1 | 通过上边的例子,可以总结出一下结论:在构建 B-树的过程中, |
1 | 提示:如图 9 所示,结点分裂为两个结点的同时,还分裂出来一个关键字 K ⌈ m/2⌉ ,存储到其双亲结点中。 |
五 参考
- C语言中文网—B-树及其基本操作