首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
请你讲讲B树和B+树
[问答题]
请你讲讲B树和B+树
添加笔记
求解答(0)
邀请回答
收藏(93)
分享
纠错
23个回答
添加回答
48
flyHight
b➕树 ,数据存放在叶子结点上,非叶子结点只存key,而b树 数据存放在叶子结点和非叶子上,所以相对b➕树的层级要多
发表于 2022-05-24 15:22:35
回复(0)
21
牛客793464225号
B树和B+树都是多路平衡查找树。B树中所有节点都存放数据。B+树只有叶子结点存放数据,其他节点存放key。B树中的叶子结点是独立的,B+书中的叶子结点通过链与相邻叶子结点连接。B树查找使用的是二分查找,没有查找到叶子结点就可能结束,而B+树必须从根节点进行查找,查询效率更稳定。
发表于 2022-06-23 11:35:35
回复(0)
8
大哥们不要卷我
B树和B+树都是平衡多路查找树,B+树中,数据存放在叶子节点中,叶子节点之间通过指针链表连接起来,而B树中,数据存放在叶子节点和非叶子节点中。在查找过程中,B+树比B树更加稳定,所有的数据形成链表适合范围查找,而且单一节点存储更多的元素是,使得IO的次数更少
发表于 2022-06-10 13:17:32
回复(0)
7
岑溪123
1、b+树的叶子节点存放的是记录,而非叶子节点只存放关键字,b树的叶子节点和非叶子节点存放的是关键字和记录。2、由于b+树非叶子节点存储的是关键字,而相对于b树来说一页就能容纳更多的关键字,b+树就会变得更宽更矮,从而读取关键字时就能减小io次数,提高了查询效率。3、由于b+树的叶子节点是通过链表链接的,并且是叶子节点有序的,所以在范围查询时b+树只需要查找到范围的下限然后遍历叶子节点就能得到整个范围的记录。4、b+树的查询效率更稳定,因为每次查询所走的路径长度都相同,只需要从根节点查到叶子节点即可。5、b树n颗子树含有n-1个关键字,b+树n颗子树含有n个关键字。
编辑于 2023-02-05 17:07:14
回复(0)
2
黄俊忠
B tree 跟B+tree都是多路平衡查找树,B数在每一个节点存放数据,而b+数只在叶子节点存放数据,其他节点存放key
发表于 2022-08-15 16:50:47
回复(0)
1
牛客528639100号
B树的非叶子节点和叶子节点都存储数据 回表麻烦 而且会导致树的高度变高,而b+树的非叶子节点只存储索引 那么非叶子节点存储的索引量就非常多了 ,叶子节点存储数据和索引,叶子节点相互关系,方便范围查询和定位
发表于 2023-02-25 14:56:22
回复(0)
0
zzejian
第一:在B树中,非叶子节点和叶子节点都会存放数据,而B+树的所有的数据都会出现在叶子节点,在查询的时候,B+树查找效率更加稳定 第二:在进行范围查询的时候,B+树效率更高,因为B+树都在叶子节点存储,并且叶子节点是一个双向链表
发表于 2024-04-11 20:11:31
回复(0)
0
钟情于风TuT
B树和B+树都是索引的两种数据结构,都是多路平衡二叉树,而B+树是B树的改进 B树的化,它的所有节点存储数据,当达到最大指针数时会向上分裂,会导致树的深度越来越深,查找速度越来越慢 B+树: 它只有叶子节点存储数据,非叶子结点存储的是Key,叶子节点使用双向链表相连,适用于范围查询
编辑于 2024-04-03 16:41:24
回复(0)
0
牛客380258662号
都是多路平衡查找树 B+树 非叶子节点存储的是key值,叶子节点存储的是数据 叶子节点用上链表连接,适用于范围查询 B树 非叶子和叶子节点都存储key+数据值 在千万级的数据量下,B+树的高度比B树低,磁盘IO次数更少
编辑于 2024-03-17 11:15:39
回复(0)
0
极客25
都是多路平衡查找树。 B+树:非叶子节点存储key,叶子节点是数据。 B树:数据和key放在非叶子节点和叶子节点。 叶子节点容量有限且相同的情况下,B+树深度低,查询io次数少。B+树从根节点开始查询,查询效率稳定。 B+树是为了磁盘或者其他直接存取设备涉及的一种平衡查找树。
发表于 2024-02-22 10:26:51
回复(0)
0
深情的三文鱼在写面经
b树存放键值对 b+树节点存放键 叶子节点存放值
发表于 2023-08-23 16:53:37
回复(0)
0
jdasji
B+树是B树的变种,他们在结构和性能方面都有区别。B+树是由叶子节点存储数据,叶子节点通过指针进行连接,方便查询和顺序访问,B树则在每一个数据节点都存储着数据,叶子节点之间没有连接。性能方面:B+树查询数据时由于叶子节点之间有序连接,范围查询只需遍历相关的叶子节点即可,查询效率也稳定,B树则需要通过非叶子节点进行跳跃,因此B+树的查询性能比B树更高
发表于 2023-08-14 14:27:26
回复(0)
0
信女愿用5年寿命换取一个offer
B树除了根节点之外,其余节点均存放了数据对应的主键,当查询到需要的数据时,只能得到主键,要通过主键进行磁盘IO,效率低,B+树只有叶子结点存放了数据,其他节点存放的都是键,直接可以通过查询得到数据,而无需回读。 B树可能不到叶子结点就查询到数据,导致其查询效率不稳定。 此外,b+树的叶子结点有指针指向相邻节点,可以实现顺序查询
编辑于 2023-07-14 22:22:48
回复(0)
0
狗不言呆子与猫
11
发表于 2023-03-10 16:16:31
回复(0)
0
牛客871095908号
他们都是平衡多路查找树,是在二叉查找树的基础上的改进数据结构。再二叉查找树上查找一个数据时,最坏的其概况是查找次数为树的深度,当数据量很大时,查询次数可能还是很大,造成大量的磁盘IO,从而影响查询效率;为了减少磁盘的IO次数,必须要降低树的深度,因此再二叉树基础上将树杈改为多叉就形成了B树
发表于 2023-02-08 15:47:34
回复(0)
0
牛客374790738号
m
发表于 2022-12-05 22:44:51
回复(0)
0
海盗小泽
B树中所有节点的总集是关键字的总结,b+树中所有叶子节点的集合是关键字的总集。 b+树的叶子节点增加了连接,从而加快了范围数据的查找。
发表于 2022-11-18 16:05:59
回复(0)
0
在研究求职打法的他很慢热
B+树只有子节点才存储具体的数据,其他的节点只存储节点索引。
发表于 2022-11-09 16:53:25
回复(0)
0
人中四
m
发表于 2022-10-12 15:33:27
回复(0)
0
爱潜水的魔王
- 叶子节点不存数据,一次性可以从内存中读取更多的键查找的更快 - 查找速度稳定 - 叶子节点相互连接,可以进行范围查找或者是遍历
发表于 2022-08-11 17:06:08
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
数据库
上传者:
real19931
难度:
23条回答
93收藏
1290浏览
热门推荐
相关试题
分页系统的逻辑地址结构是一维的,分...
操作系统
评论
(1)
关于分段系统与分页系统的区别,描述...
操作系统
评论
(1)
你说在销售运营这个岗位上会涉及到一...
评论
(1)
相关性分析有哪些?
评论
(1)
如何检验聚类分析结果
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题