树结构:从B树到B+树的深入解析
1. B树的特性与操作
1.1 B树的基本特性
B树是一种自平衡的树结构,具有以下特性:
- 所有叶子节点具有相同的深度,该深度即为树的高度h。
- 节点包含的键数量有上下界,由一个固定整数t(t ≥ 2)决定,称为B树的最小度:
- 除根节点外,每个节点至少有t - 1个键,每个内部节点(非根)至少有t个孩子。若树非空,根节点至少有一个键。
- 每个节点最多包含2t - 1个键,因此内部节点最多有2t个孩子。当节点恰好包含2t - 1个键时,称该节点为满节点。
1.2 B树的插入操作
插入键到B树需要先遍历树,以确定要插入的键是否已存在。若键不存在,则遍历到叶子节点,此时有两种情况:
- 节点未满 :直接将键插入该节点。
- 节点已满 :将键按顺序插入节点的现有键集合中,然后将节点在其中位数处分裂为两个同层节点,将中位数元素提升一层。若父节点未满,则将中位数元素放入父节点;否则,重复此过程,可能需要重新排列根节点的键或形成新的根节点。
以下是一个插入示例,将数字20, 80, 55, 15, 116, 39, 76, 124, 103, 48, 200, 98, 175, 235, 28, 114, 132, 164插入到一个5阶B树中:
Insert 20:
20
Insert 80:
20
80
Insert 55:
20
55
80
Insert 15:
15
20
55