漫画算法:什么是 B+ 树?
https://mp.weixin.qq.com/s/QGepgMbHQ8JeRxVQwAwsxQ
漫画算法:什么是 B+ 树?
(点击上方公众号,可快速关注)
来源:伯乐专栏作者/玻璃猫,微信公众号 - 梦见(dreamsee321)
如有好文章投稿,请点击 → 这里了解详情
之前已介绍了 B 树的原理和应用,没看过的童鞋,请点击下面的链接:
《漫画:什么是 B 树?》
这一次我们来介绍 B+ 树。
一个m阶的B树具有如下几个特征:
1.根结点至少有两个子女。
2.每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m
3.每一个叶子节点都包含k-1个元素,其中 m/2 <= k <= m
4.所有的叶子结点都位于同一层。
5.每个节点中的元素从小到大排列,节点当中k-1个元素正好是k个孩子包含的元素的值域分划。
一个m阶的B+树具有如下几个特征:
1.有k个子树的中间节点包含有k个元素(B树中是k-1个元素),每个元素不保存数据,只用来索引,所有数据都保存在叶子节点。
2.所有的叶子结点中包含了全部元素的信息,及指向含这些元素记录的指针,且叶子结点本身依关键字的大小自小而大顺序链接。
3.所有的中间节点元素都同时存在于子节点,在子节点元素中是最大(或最小)元素。
B-树中的卫星数据(Satellite Information):
B+树中的卫星数据(Satellite Information):
需要补充的是,在数据库的聚集索引(Clustered Index)中,叶子节点直接包含卫星数据。在非聚集索引(NonClustered Index)中,叶子节点带有指向卫星数据的指针。
第一次磁盘IO:
第二次磁盘IO:
第三次磁盘IO:
B-树的范围查找过程
自顶向下,查找到范围的下限(3):
中序遍历到元素6:
中序遍历到元素8:
中序遍历到元素9:
中序遍历到元素11,遍历结束:
B+树的范围查找过程
自顶向下,查找到范围的下限(3):
通过链表指针,遍历到元素6, 8:
通过链表指针,遍历到元素9, 11,遍历结束:
B+树的特征:
1.有k个子树的中间节点包含有k个元素(B树中是k-1个元素),每个元素不保存数据,只用来索引,所有数据都保存在叶子节点。
2.所有的叶子结点中包含了全部元素的信息,及指向含这些元素记录的指针,且叶子结点本身依关键字的大小自小而大顺序链接。
3.所有的中间节点元素都同时存在于子节点,在子节点元素中是最大(或最小)元素。
B+树的优势:
1.单一节点存储更多的元素,使得查询的IO次数更少。
2.所有查询都要查找到叶子节点,查询性能稳定。
3.所有叶子节点形成有序链表,便于范围查询。
漫画算法系列
漫画算法:最小栈的实现
漫画算法:判断 2 的乘方
漫画算法:找出缺失的整数
漫画算法:辗转相除法是什么鬼?
漫画算法:什么是动态规划?(整合版)
漫画算法:什么是跳跃表?
漫画算法:什么是 B 树?
觉得本文有帮助?请分享给更多人
关注「算法爱好者」,修炼编程内功
漫画算法:什么是 B+ 树?相关推荐
- 《漫画算法》终于出电子书了!
今年5月,小灰出版了<漫画算法>这本纸质书. 在今年年中,本书获得[京东科技新书畅销榜]第1名,[京东科技畅销榜]第4名,非常感谢大家的支持! 但是有一点美中不足,小灰的这本<漫画算 ...
- 《漫画算法》读书笔记
<漫画算法>读书笔记 在图书馆借阅算法书时,看到了一本非常吸引我的算法书--<漫画算法>.算法还能以漫画的方式展示出来吗?我带着我的疑惑翻开了这本书,里面的语言非常接地气,通俗 ...
- 漫画算法python篇_漫画算法:小灰的算法之旅(Python篇)(全彩)
商品参数 漫画算法-小灰的算法之旅(Python篇) 定价 79.00 出版社 电子工业出版社 版次 出版时间 2020年03月 开本 16开 作者 魏梦舒 装帧 平装-胶订 页数 字数 ISBN编码 ...
- 《漫画算法》读书心得笔记-未完
感谢FunTester送的书籍.建议大家买或借来看看,一起学习下.本文主要是记录我看这本书的心得,不一定理解是对的,是我自己悟出来的体会,而不是按书照抄,都是凭自己的理解写出来的,相当于在写一本书了, ...
- 程序员小灰的漫画算法和知识总结,高品质强推!!!
转载自微信号程序员小灰,不定期更新,漫画讲解好评,特来转载. 漫画知识汇总 漫画:深度优先遍历 和 广度优先遍历 漫画:什么是 "图"?(修订版) 漫画:图的 "最短路径 ...
- 程序员小灰的漫画算法
算法 漫画:什么是ConcurrentHashMap? 漫画:高并发下的HashMap 漫画:什么是HashMap? 漫画:什么是红黑树? 什么是AES算法?(整合版) 漫画:什么是SHA系列算法? ...
- 常用查找算法之B/B+树
文章目录 前言 B- 树 查找 插入 删除 B+ 树 查找 范围查找 总结 参考资料 前言 从算法逻辑上讲二叉查找树的查找和插入操作效率都已经很高,但是在实际应用中由于我们不能将整个索引表加载到内存, ...
- 包邮赠书 |《漫画算法2》2021全新进阶版来袭!
那一年,它一上市便夺得2019京东科技新书销量榜 TOP 1 ! 那一年,它在经历了2w+读者参评后收获近 99%的好评 ! 那一年,它登上双十一期间的 公交站广告牌 大放异彩! 那一年,它以豆瓣开局 ...
- 【读书笔记】《漫画算法》:克服对算法的恐惧,从漫画开始
写在开头 在上小学和初高中的时候,要我写读后感这种东西,我是非常厌恶的.无非就是老师布置的一个作业,还是那种无趣且磨人的工作. 结果十多年过去了,到了工作的年纪,看书反倒是自觉地写起读后感来了,而且居 ...
最新文章
- 推荐8个令人骄傲的国产软件,改变你对国产的认知
- Android -- Camera聚焦流程
- python tkinter计算器实例_python小实例——tkinter实战(计算器)
- Network 之五 TCP/IP 协议族、工作流程、常用协议格式
- 微信:禁用小程序跳转 App;华为商城上架 PlayStation 5;币安涉及洗钱被美监管调查
- 39 FI配置-财务会计-固定资产-组织结构-定义号码范围间隔
- 用户代码未处理nullreferenceexception_CSAPP 第九章整理 未完成
- 【ShaderToy】跳动的心
- 入侵检测规则匹配算法--单模匹配算法、多模匹配算法、hyperscan
- Linux使用SIGALARM信号的定时器
- 计算机与体育教育的关系,试论现代信息技术与体育教育的关系论文.doc
- 版本差异_终极版!三星Note20系列在真机再曝光,不同版本差异在这几点
- 三极管放大电路原理-电子技术方案
- 前端h5 打开pdf文件
- 运营实操:亚马逊运营的顶级思维
- 微信网页版如何给公众号发消息
- 四年级计算机课的检讨,四年级下册信息技术教学反思.doc
- iPhone 导入照片显示时间不是拍摄时间
- 能力素质有所欠缺_学有所思,思有所悟,悟有所行
- Unity之Failed to import package with error: Couldn‘t decompress package