数据结构——B树、B+树、B*树

本文详细介绍了B树、B+树和B*树的概念与特性。B树是一种多路搜索树,适用于磁盘等慢速存储,通过减少磁盘IO提高查询效率。B+树将所有数据存储在叶子节点,更适合数据库索引,支持高效范围查询。B*树则是B+树的变体,提高了空间利用率。
摘要由CSDN通过智能技术生成

(一)B树(B-树)

1、二叉搜索树

  二叉搜索树有如下特点:

  • 所有非叶子结点至多拥有两个孩子(Left和Right)
  • 所有结点存储一个关键字
  • 非叶子节点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树
      二叉树的搜索,从根节点开始若查询的关键字与节点关键字相等则命中;否则若关键字比结点关键字小则进入左孩子;如果比结点关键字大,就进入右孩子;若左孩子或有孩子的指针为空,则报告未找到该关键字。

2、B树的基本概念

B树(一种多路搜索树,不一定是二叉)的出现是因为磁盘 IO ,IO操作的效率很低,在大量数据存储中(一般用于数据库索引,查找效率较高),查询时我们不能一下将所有数据都加载到内存中,只能逐一加载磁盘页,每个磁盘页对应树的结点。造成大量磁盘 IO 操作(最坏情况下为树的高度),平衡二叉树由于树的深度过大造成磁盘 IO读写频繁所耗费时间长,导致效率低
      &在这里插入图片描述

  磁盘 IO 与预读
emsp; 磁盘读取以靠机械运动,分为寻道时间、旋转延迟、传输时间三个部分,这三个部分耗时相加为一次磁盘 IO 的时间,大概9ms。成本是访问内存的十万倍左右;正是由于磁

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值