B树-多路平衡查找树

B树


数据库中数据量过大时,平衡二叉树由于深度过大,造成磁盘IO次数多,效率低。

B树也叫平衡多路查找树,它的出现就是为了减少磁盘IO操作,思想是降低树的高度,从==“瘦高”–>“矮胖”==。

核心是让每个节点承载更多的元素拥有更多的孩子

优点:改善数据库的查询效率,减少了对磁盘的IO操作次数
缺点:不便于范围查询


一个m阶的B树:单一节点拥有最多子节点的数量,称为B树的阶。

一个m阶B树的具有的特征(或必须满足的条件)

  1. 如果根节点不是叶子节点,那么它至少有两个节点。

  2. 所有叶子节点位于同一层(高度一致)。

  3. 除根节点和叶子节点之外,一个节点至少拥有ceil( m / 2)个节点)。

    ceil() :向上取整,ceil(3/2)=ceil(1.5)=2

  4. 每个叶子节点包含k-1个元素,ceil(m/2)<= k <=m

    若m=3, 2<=k<=3, 1<=(k-1)<=2,也就是3阶的树叶子节点包含1~2个元素

  5. 拥有k个节点的非叶子节点,包含k-1个元素。


B树的查找

如图是一颗3阶B树,满足B树的特征

在这里插入图片描述

查找元素5

第一步

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值