目录
一、概述
B+树的删除规则:
下面我们以上面插入构建的B+树做一些删除操作。
【a】删除前B+树结构
【b】删除22
删除后叶子结点中关键字数量大于等于2,满足5阶B+树性质,结束删除操作。
【c】删除15
可见,删除15后当前节点的关键字数量已经小于2,不满足B+树特性,然后我们看它左边的兄弟节点有三个关键字,表示兄弟节点有节点可以借,向兄弟节点借一个节点9过来,并且用借过来的节点9去替换父节点中的父节点10,然后结束删除操作。删除后如下图所示:
【d】删除7
可见,两边的兄弟节点都不可以借节点了,这个时候我们就需要将当前节点8和左边的兄弟节点进行合并,然后删除掉父节点中不满足左小右大的节点7,删除后如下图:
然后我们看到节点9的关键字数量也小于2了,并且它的兄弟节点也没有节点可以借,所以父结点中的关键字16下移,和两个孩子结点合并组成一个新的节点,如下图所示:
二、总结
整体删除流程图如下:
以上就是关于B+树删除节点的详细构建过程总结,小伙伴们在学习的时候,不妨试试画一下,可以加深对B+树结构的理解,希望本文能对大家学习B+树有所帮助。由于笔者水平有限,文中可能存在不对之处,还望大家之处,一起学习,一起进步!下面推荐一个动态构建B+树结构的网站,可以观察B树具体是怎么查找、插入和删除节点的: