B树的操作:插入和删除

本文详细介绍了B树的基本特性,包括其节点结构和性质。在B树的操作中,插入关键字时,会在查找过程中找到叶子节点的上一层进行插入,如果节点未满,则直接插入,否则导致节点分裂。删除关键字时,涉及到复杂的平衡调整策略。内容深入浅出,适合数据结构学习者参考。
摘要由CSDN通过智能技术生成

目录

 前提

 操作1:B树插入关键字

 操作2:B树删除关键字


前提

在对B树进行操作之前需要先了解B树的特性:

一棵m阶的B树或为空树,或为满足下列特性的m叉树:

  1. 树中每个节点至多有m棵子树
  2. 若根结点不是叶子节点,则至少有两棵子树
  3. 除根结点之外的所有非终端结点至少有 \left \lceil \frac{m}{2} \right \rceil 棵子树(二分之m向上取整)
  4. 所有的非终端节点中包含下列信息数据(n,A_{0},K_{1},A_{1},K_{2},A_{2},······K_{n},A_{n}),其中K_{i}(i=1,······,n)是关键字,且K_{i}< K_{i+1},(i=1,······,n-1),A_{i} (i=0,···,n)为指向子树根节点的指针,且指针A_{i-1}所指的所有子树的关键字均小于 K_{i}(i=1,······,n),A_{n}所指的所有子树的关键字均小于K_{n},n 为关键字的个数(或n+1为子树的个数)。
  5. 所有叶子节点都出现在同一层次上,并且不带信息(空指针)

 操作1:B树插入关键字

插入方法:B树中 \left \lceil \frac{m}{2} \right \rceil-1 \leqslant  节点中的关键字个数   \geq m-1 ,并且整个子树可以看成全部由关键字组成的树,每次插入一个关键字不是在树中添加一个叶子节点,而是在查找的过程中找到叶子节点所在层的上一层(叶子节点是记录,上一层是关键字最后一层),在某个节点中添加一个关键字,若节点的关键字个数不超过m-1,则插入完成,否则产生节点的分裂。

 

分割线

 

 分割线

分割线

 操作2:B树删除关键字

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值