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

相关推荐
xys_6781 小时前
深挖数据结构:树和二叉树(上)
数据结构·算法
BeiGuTing_code1 小时前
Java动态数组(一)
java·数据结构·windows
Code_Solitude4 小时前
传智杯备赛代码整理(前4题)
数据结构·算法
Jasmine_llq5 小时前
《P8816 [CSP-J 2022] 上升点列》
数据结构·算法·贪心·排序·二维动态规划 dp·类背包状态转移
辛苦才能5 小时前
C++ 哈希表深度解析:删除为什么必须打标记,负载因子为什么卡 0.7
开发语言·数据结构·c++·算法
JasmineX-16 小时前
数据结构(笔记)——顺序栈
c语言·数据结构·笔记
凉茶钱7 小时前
list:哨兵节点,const_iterator 和 const iterator的区别与迭代器失效
数据结构·c++·list
敲代码的苦139 小时前
头歌数据结构-排序的实现及其应用
数据结构
有同事要进步9 小时前
Leecode第68题:x的平方根
java·数据结构·算法
Pniubi10 小时前
HashMap扩容全流程
java·开发语言·数据结构