news 2026/6/12 7:20:34

3.1.6 B Tree

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3.1.6 B Tree

在前面的二叉查找树与平衡二叉树基础上,我们正式进入B 树(B-Tree)。B 树是数据库和文件系统中最重要的数据结构之一,也是 MySQL 最终采用的B+ 树的前身。虽然 MySQL InnoDB 引擎实际使用的是 B+ 树,但掌握 B 树的结构和原理,才能真正理解数据库索引的演化逻辑。


🌲 一、B 树的定义与核心性质

B 树是一种多路平衡搜索树,它允许一个节点存储多个键,拥有多于两个子节点。这种“矮胖”结构专为磁盘 I/O 优化而设计。

一棵m 阶 B 树满足以下性质:

  1. 节点键数:每个非根节点包含k 个键,且满足⌈m/2⌉ - 1 ≤ k ≤ m - 1(根节点可以只有 1 个键)。
  2. 子树数量:每个节点如果包含 k 个键,则拥有k+1 个子节点(除非是叶子节点)。
  3. 叶子深度相同:所有叶子节点都在同一层,保证绝对平衡。
  4. 有序性:节点内键值按升序排列,且任一键左子树的所有键小于该键,右子树的所有键大于该键。

示例:4 阶 B 树(每个节点最多 3 个键,4 个子节点)

[20, 40, 60] / | | \ [5,10] [25,30,35] [50,55] [70,80,85]

这棵 B 树高度仅为 2,却能存储大量数据。


⚙️ 二、B 树的操作详解

1. 查找(Searc
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/12 7:18:08

3588 只读根文件系统配置 overlayroot(防掉电损坏)

3588 只读根文件系统配置 overlayroot(防掉电损坏) 作者:吴思含(Witheart)更新时间:20260522参考链接: https://blog.csdn.net/Yongheng6/article/details/145373026 0 overlayfs原理 0.1 原理解…

作者头像 李华
网站建设 2026/6/12 7:11:53

CloakBrowser 火了:AI Agent 时代,浏览器自动化可能要换一套基础设施了

最近我研究了一个很有意思的开源项目:CloakBrowser。 一开始看到它的时候,我以为它只是又一个“反检测浏览器”或者“自动化浏览器封装”。 但认真看完之后,我发现它背后其实对应着一个非常重要的趋势: AI Agent 时代,…

作者头像 李华
网站建设 2026/6/12 6:59:53

Cursor vibe coding:用自然语言驱动前端原型开发

1. 项目概述:当“ vibe”成为新编程范式,Cursor 让直觉落地成真你有没有过这种体验:盯着一个网页设计稿,脑子里已经浮现出交互逻辑和视觉动效,但一打开 VS Code 就卡在“先写哪一行 import”;或者想快速做个…

作者头像 李华
网站建设 2026/6/12 6:54:54

JetBrains IDE试用期重置终极指南:3步实现永久免费开发环境

JetBrains IDE试用期重置终极指南:3步实现永久免费开发环境 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 你是否正在使用JetBrains系列IDE(如IntelliJ IDEA、PyCharm、WebStorm等&#x…

作者头像 李华