浅谈 B+树

Posted 看,未来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈 B+树相关的知识,希望对你有一定的参考价值。

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

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

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

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


对比一下B树:

这个是B树。


B+树对于B树的改进

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

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

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


代码实现

先占个位置,国庆假期内定会补上。

以上是关于浅谈 B+树的主要内容,如果未能解决你的问题,请参考以下文章

P3377 模板左偏树(可并堆) 左偏树浅谈

浅谈C++回调函数的实现

浅谈B树

浅谈博弈论

浅谈二分

浅谈 B+树