2-3树:
-
有多个值的节点的子节点还是要满足排序树的特点
-
2-3树的主要目的是节省空间 减少树的高度
2-3树的构建:
规则:
- 只要叶子存放节点没满三个元素,都可以先暂时存放该元素
- 需要遵循排序树的节点存放规则
- 因为三节点最多只能有两个元素,所以需要对满三个元素的节点进行拆分
(中间元素位置不变,左右元素作为中间元素的左右节点) - 如果拆分完发现不符合B树的规则(所有叶子节点都在同一层),那么就需要向上聚合(原中间元素与其的父节点聚合,若聚合完父节点的元素大于两个,那么就将父节点拆分(第二步操作))
一个例子图解:
16 24 32 14 32 34 10 8 28 38 20
- 插入16
- 插入26
- 插入32
- 插入14
- 插入26
- 插入34
- 插入10
- 插入8
- 28
- 插入38
- 插入20