数据结构之B+树删除详解

目录

一、概述

二、总结


一、概述

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树具体是怎么查找、插入和删除节点的:

https://www.cs.usfca.edu/~galles/visualization/BTree.html

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付 19.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值