B+树插入过程改进

B+树的定义

一棵m阶的B+树需满足下列条件:
(1)每个分支节点最多有m棵子树;
(2)非叶根节点至少有两棵子树,其他每个分支节点至少有m/2棵子树;
(3)节点的子树个数与关键字个数相等;
(4)所有叶节点包含包含全部关键字及指向相应记录的指针,而且叶节点中将关键字按大小顺序排列,并且相邻叶节点按大小顺序相互链接起来;
(5)所有分支节点中仅包括它的各个子节点中关键字的最大值及指向其子节点的指针。

B+树的插入

在B+树的插入过程中,由于每个节点的关键字个数有限制,所以会导致插入节点的关键字个数在超过阶数时,该节点会分裂成两个节点,同时为了满足B+树的性质,并会将节点中间的关键字复制一份放到它的父节点中。处理分裂过程是B+树插入过程的关键。
我在学习B+树的过程中,发现了另外一种分裂方式可以大大减少操作,提高性能。

(1)通常B+树的插入过程

我们通常意义上的B+树的插入过程,就是首先通过节点路径上的节点找到插入的目标叶子节点,如果使得叶子节点里的关键字数大于阶数,那么变会分裂,同时上升的关键字可能会导致它的父节点分裂,然后一直往上迭代,直到不能分裂为止,完成插入过程。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值