树 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+树在数据库和文件系统等场景中被广泛应用,主要用于组织大量的有序数据,以便高效地进行查找、插入和删除操作。

相关推荐
cpp_250115 分钟前
P2347 [NOIP 1996 提高组] 砝码称重
数据结构·c++·算法·题解·洛谷·noip·背包dp
今天又在写代码1 小时前
数据结构v2
数据结构
Rabitebla1 小时前
C++ 和 C 语言实现 Stack 对比
c语言·数据结构·c++·算法·排序算法
深邃-1 小时前
【数据结构与算法】-顺序表链表经典算法
java·c语言·数据结构·c++·算法·链表·html5
就爱学编程1 小时前
惊叹数据结构之美,品味排序算法之妙:对计排、桶排的详细介绍
数据结构·算法·排序算法
努力努力再努力wz2 小时前
【MySQL入门系列】掌握表数据的 CRUD:DML 核心语法与执行逻辑解析
android·开发语言·数据结构·数据库·c++·b树·mysql
漂流瓶jz2 小时前
UVA-120 煎饼 题解答案代码 算法竞赛入门经典第二版
数据结构·c++·算法·排序·aoapc·算法竞赛入门经典·uva
paeamecium2 小时前
【PAT甲级真题】- Stack (30)
数据结构·算法·pat考试·pat
莫等闲-2 小时前
代码随想录一刷记录Day31——leetcode56. 合并区间 738.单调递增的数字
数据结构·c++·算法·leetcode
剑挑星河月3 小时前
45.跳跃游戏Ⅱ
数据结构·算法·leetcode