B树最大高度推导

本文详细推导了B树的最大和最小高度,解释了B树的关键概念,如节点、关键字和阶。对于含有n个关键字的B树,最小高度为logmn+1,最大高度则通过确保每层节点至少 ceil(m/2) 个子节点来计算。接着讨论了B+树在MySQL数据库索引中的应用,解释了为何B+树适合数据库索引,以及如何通过调整节点个数避免过多磁盘IO。最后,指出了B+树在数据写入和删除时可能导致的索引维护问题和解决方案。

B树最大高度推导

【声明几个重要概念】

B树的关键字就是要查找的东西

B树中的 :可理解为分支数. 三阶树也可理解三叉树

按照定义:

m阶B tree,每个节点最多有 m 个subnode,除根节点和叶子节点外,每个节点至少有ceil(m / 2)个子节点

根节点:

  • 儿子节点个数**[2, m]**
  • 关键字个数**[1, m-1]**

非根节点 :

  • 儿子节点个数**[ceil(m/2), m]**
  • 关键字个数**[ceil(m/2)-1, m-1]**

【注意】:儿子节点就是树本身的节点,关键字是要查询的节点

前提条件:n>=1,则对于任意一棵包含n个关键字、高度为h、阶数为m的B树

其中 : ceil()函数 代表向上取整):

推导B树的最小高度

让树变的很矮,就需要让每一层节点最多,让他充实起来

节点个数 层数
1 0
m 1
m 2 m^2 m2 2
m 3 m^3 m3 3
m h − 1 m^{h-1} mh1 h-1 (高度为h)

对于高度为h,阶数为m的B树的总的节点个数就是每一层相加之和:

1 + m + m 2 + m 3 . . . . + m h − 1 = ( m h − 1 ) / ( m − 1 ) 1+ m +m^2+m^3 ....+m^{h-1} = (m^{h-1})/(m-1) 1+m+m2+m3....+mh1=(mh1)/

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值