
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+树的查询更加的稳定
因为非终端结点并不是最终指向文件内容的结点,仅仅是作为叶子结点中关键字的索引。这样所有的关键字的查找都会走一条从根结点到叶子结点的路径。所有的关键字查询长度都是相同的,查询效率相当。
发表评论
最新留言
很好
[***.229.124.182]2025年03月13日 13时07分30秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
2018年年终总结
2019-03-03
监控264后缀文件播放
2019-03-03
R3 PRO 3200G和r7 3700u 哪个好
2019-03-03
【Docker&ARM】ARM架构服务器上docker的安装
2019-03-03
php--自定义错误处理函数的使用方法
2019-03-03
php--匿名函数的使用
2019-03-03
php--json_decode
2019-03-03
php--class的工厂模式的示例
2019-03-03
jQuery练习t81
2019-03-03
jQuery练习t85
2019-03-03
【JokerのZYNQ7020】LINUX_EMIO_BUTTON。
2019-03-03
python36+centos7离线安装tensorflow与talib的方法
2019-03-03
isnull与isna的区别
2019-03-03
python自带超参调优包
2019-03-03
CentOS 8 已下载ntpdate 却无法使用crond进行时间同步
2019-03-03
ElasicJob分布式定时任务
2019-03-03
Docker - 部署 Redis 6.0.8
2019-03-03
C#,asp.net,ashx处理session
2019-03-03
501 5.1.7 Invalid address
2019-03-03