首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >浅谈 B+树

浅谈 B+树

作者头像
看、未来
发布2021-10-09 11:53:57
发布2021-10-09 11:53:57
5470
举报

目前常见的主要的三种存储引擎是:哈希、B+树、LSM树。LSM下次再说,hash讲过了。

没有什么B-树,那是 B-tree,国内一直翻译成B-树,其实就是B树。

B树我也不想说了,因为已经被升级过了,叫B+树。

下图来自 小灰的算法之旅,懂得人自然就懂了:


对比一下B树:

这个是B树。


B+树对于B树的改进

1、所有数据都在叶子节点。算法更容易理解了。回头抽空手写一下B+树,正好跳表也要重写了。

2、底层叶子节点使用链表串起来了。

这第二个改进不可谓不秀。单这么看自然是不明所以的,但是凡事都要放在上下文中去看,B+树的上下文对应的就是磁盘IO的索引呐,那如果我要范围查询呢?比如说我要上面树里面 4-10 的所有数据,B 树怎么作为?B+树怎么作为?高下立判。


代码实现

先占个位置,这几天是没办法了,有更重要的事情安排上了。忙完这两周,十月说什么也要安排上。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/09/27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • B+树对于B树的改进
  • 代码实现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档