树 B树和B+树

B树

  1. 定义

    • B树是一种平衡的多路查找树。它主要用于数据库和文件系统等场景,因为这些场景需要频繁地进行查找、插入和删除操作,而且数据量通常比较大。
  2. 性质

    • 每个节点最多有m个孩子(m是B树的阶数),最少有ceil(m / 2)个孩子(除了根节点)。例如,对于一个4阶B树,每个节点最多有4个孩子,最少有2个孩子。

    • 每个节点最多有m - 1个关键字,最少有ceil(m / 2) - 1个关键字(除了根节点)。关键字是用于查找的值,它们在节点内是有序的。

    • 所有叶子节点都出现在同一层次上。这保证了B树的平衡性,使得查找操作的时间复杂度为O(logn)。

    • 如果一个节点有k个关键字,那么它就有k + 1个孩子。例如,一个有3个关键字的节点,它就有4个孩子,这些孩子分别对应关键字划分的4个区间。

B+树

1.定义

B+树是一种平衡的多路查找树,它是B树的一种变体。B+树在数据库和文件系统等场景中被广泛应用,主要用于组织大量的有序数据,以便高效地进行查找、插入和删除操作。

相关推荐
似水এ᭄往昔10 小时前
【C++】--AVL树的认识和实现
开发语言·数据结构·c++·算法·stl
TL滕11 小时前
从0开始学算法——第十六天(双指针算法)
数据结构·笔记·学习·算法
天赐学c语言11 小时前
12.14 - 搜索旋转排序数组 && 判断两个结构体是否相等
数据结构·c++·算法·leecode
1024肥宅12 小时前
JavaScript 性能与优化:数据结构和算法
前端·数据结构·算法
仰泳的熊猫12 小时前
1112 Stucked Keyboard
数据结构·c++·算法·pat考试
he___H12 小时前
滑动窗口一题
java·数据结构·算法·滑动窗口
AI科技星12 小时前
统一场论质量定义方程:数学验证与应用分析
开发语言·数据结构·经验分享·线性代数·算法
学编程就要猛13 小时前
数据结构初阶:Map和Set接口
数据结构
jianfeng_zhu13 小时前
不带头节点的链式存储实现链栈
数据结构·算法
历程里程碑13 小时前
C++ 7vector:动态数组的终极指南
java·c语言·开发语言·数据结构·c++·算法