数据结构与算法——第9章-查找表-B+树中删除关键字(9.10.3)
一 概述
1 | 1.B+树中删除关键字情况 |
二 B+树中删除关键字情况
在 B+树中删除关键字时,有以下几种情况:
一、情况1
1 | 找到存储有该关键字所在的结点时,由于该结点中关键字个数大于⌈ M/2⌉ ,做删除操作不会破坏 B+树,则可以直接删除。 |
二、情况2
1 | 当删除某结点中最大或者最小的关键字,就会涉及到更改其双亲结点一直到根结点中所有索引值的更改。 |
三、情况3
1 | 当删除该关键字,导致当前结点中关键字个数小于⌈ M/2⌉ , |
四、情况4
1 | 第 3 种情况中,如果其兄弟结点没有多余的关键字,则需要同其兄弟结点进行合并。 |
五、情况5
1 | 当进行合并时,可能会产生因合并使其双亲结点破坏 B+树的结构,需要依照以上规律处理其双亲结点。 |
六、结果
1 | 如图 9 所示,其双亲结点中只有一个关键字,而其兄弟结点中有 3 个关键字, |
三 B+树中删除关键字步骤
1 | 总之,在 B+树中做删除关键字的操作,采取如下的步骤: |
四 总结
1 | 本节介绍了有关 B+树的查找、插入和删除操作, |
五 参考
- C语言中文网—B+树及基本操作