漫画算法:什么是 B 树?
伯乐在线补充:本文提到的「B-树」,就是「B树」,都是 B-tree 的翻译,里面不是减号-,是连接符-。因为有人把 B-tree 翻成 「B-树」,让人以为「B树」和「B-树」是两种树,实际上两者就是同一种树。
————————————
————————————
二叉查找树的结构:
第1次磁盘IO:
第2次磁盘IO:
第3次磁盘IO:
第4次磁盘IO:
下面来具体介绍一下B-树(Balance Tree),一个m阶的B树具有如下几个特征:
1.根结点至少有两个子女。
2.每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m
3.每一个叶子节点都包含k-1个元素,其中 m/2 <= k <= m
4.所有的叶子结点都位于同一层。
5.每个节点中的元素从小到大排列,节点当中k-1个元素正好是k个孩子包含的元素的值域分划。
第1次磁盘IO:
在内存中定位(和9比较):
第2次磁盘IO:
在内存中定位(和2,6比较):
第3次磁盘IO:
在内存中定位(和3,5比较):
自顶向下查找4的节点位置,发现4应当插入到节点元素3,5之间。
节点3,5已经是两元素节点,无法再增加。父亲节点 2, 6 也是两元素节点,也无法再增加。根节点9是单元素节点,可以升级为两元素节点。于是拆分节点3,5与节点2,6,让根节点9升级为两元素节点4,9。节点6独立为根节点的第二个孩子。
自顶向下查找元素11的节点位置。
删除11后,节点12只有一个孩子,不符合B树规范。因此找出12,13,15三个节点的中位数13,取代节点12,而节点12自身下移成为第一个孩子。(这个过程称为左旋)
漫画算法:什么是 B 树?相关推荐
- 漫画算法:什么是 B+ 树?
https://mp.weixin.qq.com/s/QGepgMbHQ8JeRxVQwAwsxQ 漫画算法:什么是 B+ 树? 2017-07-14 程序员的那些事 (点击上方公众号,可快速关注) ...
- 《漫画算法》终于出电子书了!
今年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%的好评 ! 那一年,它登上双十一期间的 公交站广告牌 大放异彩! 那一年,它以豆瓣开局 ...
- 【读书笔记】《漫画算法》:克服对算法的恐惧,从漫画开始
写在开头 在上小学和初高中的时候,要我写读后感这种东西,我是非常厌恶的.无非就是老师布置的一个作业,还是那种无趣且磨人的工作. 结果十多年过去了,到了工作的年纪,看书反倒是自觉地写起读后感来了,而且居 ...
最新文章
- CDN全站加速助力企业云上升级
- RocketMq是什么
- linux下基于内存分析的rootkit检测方法
- 关于[入行几年后,你的未来应该在哪里]的思考
- 开放才能进步!Angular和Wijmo一起走过的日子
- python supervisor flask_supervisor配合uwsgi部署flask应用
- HDU - 6183 Color it 2017广西邀请赛(线段树)
- 大班科学计算机的发明应用教案,大班科学教案:机器人探密
- wscript.exe无法打开vbs_如何恶搞朋友的电脑?超简单的vbs代码
- [hihocoder][Offer收割]编程练习赛46
- c语言程序设计 姜书浩,Access 数据库实践教程
- android开机优化-framework
- 响应式pbootcms模板英文外贸类网站
- 使用chrome console检查css selector/xpath的有效性|百度云盘如何获取文件库中的目录文字
- 游戏开发入门(一)游戏发展史
- 国家级赛事正式开赛 | 2019数字中国创新大赛上线
- 社会经济学中的因果分析思想初探
- logparser的使用
- 去除VScode中的蓝色波浪线
- 2017_SIGIR_Item Silk Road: Recommending Items from Information Domains to Social Users