http://blog.jobbole.com/111757/?utm_source=blog.jobbole.com&utm_medium=relatedPosts

伯乐在线补充:本文提到的「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 树?相关推荐

  1. 漫画算法:什么是 B+ 树?

    https://mp.weixin.qq.com/s/QGepgMbHQ8JeRxVQwAwsxQ 漫画算法:什么是 B+ 树? 2017-07-14 程序员的那些事 (点击上方公众号,可快速关注) ...

  2. 《漫画算法》终于出电子书了!

    今年5月,小灰出版了<漫画算法>这本纸质书. 在今年年中,本书获得[京东科技新书畅销榜]第1名,[京东科技畅销榜]第4名,非常感谢大家的支持! 但是有一点美中不足,小灰的这本<漫画算 ...

  3. 《漫画算法》读书笔记

    <漫画算法>读书笔记 在图书馆借阅算法书时,看到了一本非常吸引我的算法书--<漫画算法>.算法还能以漫画的方式展示出来吗?我带着我的疑惑翻开了这本书,里面的语言非常接地气,通俗 ...

  4. 漫画算法python篇_漫画算法:小灰的算法之旅(Python篇)(全彩)

    商品参数 漫画算法-小灰的算法之旅(Python篇) 定价 79.00 出版社 电子工业出版社 版次 出版时间 2020年03月 开本 16开 作者 魏梦舒 装帧 平装-胶订 页数 字数 ISBN编码 ...

  5. 《漫画算法》读书心得笔记-未完

    感谢FunTester送的书籍.建议大家买或借来看看,一起学习下.本文主要是记录我看这本书的心得,不一定理解是对的,是我自己悟出来的体会,而不是按书照抄,都是凭自己的理解写出来的,相当于在写一本书了, ...

  6. 程序员小灰的漫画算法和知识总结,高品质强推!!!

    转载自微信号程序员小灰,不定期更新,漫画讲解好评,特来转载. 漫画知识汇总 漫画:深度优先遍历 和 广度优先遍历 漫画:什么是 "图"?(修订版) 漫画:图的 "最短路径 ...

  7. 程序员小灰的漫画算法

    算法 漫画:什么是ConcurrentHashMap? 漫画:高并发下的HashMap 漫画:什么是HashMap? 漫画:什么是红黑树? 什么是AES算法?(整合版) 漫画:什么是SHA系列算法? ...

  8. 常用查找算法之B/B+树

    文章目录 前言 B- 树 查找 插入 删除 B+ 树 查找 范围查找 总结 参考资料 前言 从算法逻辑上讲二叉查找树的查找和插入操作效率都已经很高,但是在实际应用中由于我们不能将整个索引表加载到内存, ...

  9. 包邮赠书 |《漫画算法2》2021全新进阶版来袭!

    那一年,它一上市便夺得2019京东科技新书销量榜 TOP 1 ! 那一年,它在经历了2w+读者参评后收获近 99%的好评 ! 那一年,它登上双十一期间的 公交站广告牌 大放异彩! 那一年,它以豆瓣开局 ...

  10. 【读书笔记】《漫画算法》:克服对算法的恐惧,从漫画开始

    写在开头 在上小学和初高中的时候,要我写读后感这种东西,我是非常厌恶的.无非就是老师布置的一个作业,还是那种无趣且磨人的工作. 结果十多年过去了,到了工作的年纪,看书反倒是自觉地写起读后感来了,而且居 ...

最新文章

  1. CDN全站加速助力企业云上升级
  2. RocketMq是什么
  3. linux下基于内存分析的rootkit检测方法
  4. 关于[入行几年后,你的未来应该在哪里]的思考
  5. 开放才能进步!Angular和Wijmo一起走过的日子
  6. python supervisor flask_supervisor配合uwsgi部署flask应用
  7. HDU - 6183 Color it 2017广西邀请赛(线段树)
  8. 大班科学计算机的发明应用教案,大班科学教案:机器人探密
  9. wscript.exe无法打开vbs_如何恶搞朋友的电脑?超简单的vbs代码
  10. [hihocoder][Offer收割]编程练习赛46
  11. c语言程序设计 姜书浩,Access 数据库实践教程
  12. android开机优化-framework
  13. 响应式pbootcms模板英文外贸类网站
  14. 使用chrome console检查css selector/xpath的有效性|百度云盘如何获取文件库中的目录文字
  15. 游戏开发入门(一)游戏发展史
  16. 国家级赛事正式开赛 | 2019数字中国创新大赛上线
  17. 社会经济学中的因果分析思想初探
  18. logparser的使用
  19. 去除VScode中的蓝色波浪线
  20. 2017_SIGIR_Item Silk Road: Recommending Items from Information Domains to Social Users

热门文章

  1. 建立和验证一个临床分类系统(详细过程)
  2. 【前端】实现一个简洁物流信息查询页面
  3. [exceltolist] - 一个excel转list的工具
  4. html兼容qsv格式,qsv压缩画质都能吊打软压了吗
  5. html5播放qsv文件吗,qsv格式文件怎么播放?xp系统播放qsv格式文件的方法
  6. 基于opencv,使用python提取视频帧以及提取TVL1光流
  7. Java端字节跳动接口调用SDK包
  8. 欧美风融资PPT模板
  9. VTM调用libtorch
  10. android之app_process简单记录