B树和B+树

关于结构的区别:

B树的所有节点都存储数据;B+树只有叶节点存储数据,内部节点存储的只有键且其叶子节点通过链表相连。

关于检索的区别:

B 树的检索的过程相当于对范围内的每个节点内(这里的节点可能会存储多个有序的值) 的关键字做二分查找,可能还没有到达叶子节点,检索就结束了。对B树来说,节点内部的键是有序的,因此可以用二分查找来快速定位相应的范围。

B+与B树的区别主要在于其叶子节点通过链表相连,该链表结构非常适合范围查询。在进行批量数据处理的时候,链表也可以让叶子节点按顺序遍历而不需要从根节点开始查找。

相关推荐
没文化的阿浩16 小时前
【数据结构】排序(2)——直接选择排序、堆排序
数据结构·算法·排序算法
承渊政道17 小时前
【动态规划算法】(子数组系列问题建模与解题思路精讲)
数据结构·c++·学习·算法·leetcode·动态规划·哈希算法
冷小鱼17 小时前
数据结构:从“生活常识“到“工程实战“
数据结构
仍然.17 小时前
算法题目---哈希表
数据结构·散列表
Morwit17 小时前
【力扣hot100】 494. 目标和
数据结构·算法·leetcode
重生之我是Java开发战士17 小时前
【MySQL】 索引的底层原理与使用:B+树、数据页与 InnoDB
数据库·b树·mysql
木木_王18 小时前
嵌入式Linux学习 | 数据结构 (Day03)顺序表与单链表 超详细解析(含 C 语言实现 + 作业 + 避坑指南)
linux·c语言·数据结构·学习
承渊政道18 小时前
【动态规划算法】(子序列问题解题框架与典型案例)
数据结构·c++·学习·算法·leetcode·macos·动态规划
m0_6294947318 小时前
LeetCode 热题 100-----15.轮转数组
数据结构·算法·leetcode
切糕师学AI1 天前
环形缓冲区(Ring Buffer / Circular Buffer)详解:原理、优势、应用与高性能实现
数据结构·环形缓冲区