B树与B+树
发布日期:2021-05-04 18:49:07 浏览次数:21 分类:原创文章

本文共 467 字,大约阅读时间需要 1 分钟。

以后再好好更这一节,我要写简历去咯

B树:二叉树,每个结点只存储一个关键字,等于则命中,小于走左结点,大于走右结点;

B-树:多路搜索树,每个结点存储M/2到M个关键字,非叶子结点存储指向关键字范围的子结点;所有关键字在整颗树中出现,且只出现一次,非叶子结点可以命中;

B+树:在B-树基础上,为叶子结点增加链表指针,所有关键字都在叶子结点中出现,非叶子结点作为叶子结点的索引;B+树总是到叶子结点才命中;

B树:在B+树基础上,为非叶子结点也增加链表指针,将结点的最低利用率从1/2提高到2/3;

B树只能够进行随机检索,而B+树支持随机检索和顺序检索。

为什么说B+树比B树更适合做操作系统的数据库索引和文件索引?

1、B+树的磁盘读写的代价更低
B+树内部结点没有指向关键字具体信息的指针,这样内部结点相对B树更小。

2、B+树的查询更加的稳定
因为非终端结点并不是最终指向文件内容的结点,仅仅是作为叶子结点中关键字的索引。这样所有的关键字的查找都会走一条从根结点到叶子结点的路径。所有的关键字查询长度都是相同的,查询效率相当。

上一篇:php:使用php写一个简单的接口
下一篇:ts:vue2项目中使用typescript

发表评论

最新留言

很好
[***.229.124.182]2025年03月13日 13时07分30秒