【数据结构】初步认识B、B+树

本文介绍了B树(B-Tree)的基本概念,强调B树本质上是一种二叉搜索树,具有节点最多有m个孩子、除根节点和叶子节点外至少有 ceil(m/2) 个孩子等特性,且是一棵绝对平衡的树。通过与AVL树的对比,展示了B树在查找效率上的优势,解释了MySQL选择B树作为索引的原因。此外,还探讨了B+树与B树的区别,B+树的叶子节点冗余所有非叶子节点的key并增加相邻叶子节点指针,以优化范围查询的效率。
摘要由CSDN通过智能技术生成

在学习B树前,如果没有2-3树的基础,建议先去学习一下2-3树会更好理解B树图解2-3树(学习红黑树、B树的基础)

首先需要明白B树就是B-树,因为B树的原英文名称为B-tree,所以很多人把B树又叫做B-树,这就导致很多人以为B树分为:B-、B、B+树三种,其实英文中B-Tree中的“-”不是减号,只是一个横杠的意思,就好比B+树英文为B+-tree.

明白了基本概念后,对B树进行一个基本的介绍

  • B树的本质也是一颗二叉搜索树
  • B树的节点最多有m个孩子(m>=2)
  • 除根节点和叶子节点外,其他每个节点至少有ceil(m/2)个孩子 (这里的ceil()是一个向上取整的函数)
  • B树是一颗绝对平衡的树(根节点到任意节点路径相同)

通过下图B树和AVL树的比较来深刻理解一下B树的定义

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值