文章目录
1 引言
在上一篇文章中介绍了2-3树
的定义以及插入删除
操作。本篇文章将在2-3树
的基础上更进一步
,介绍比2-3树
更为复杂的数据结构2-3-4树
。之所以介绍2-3-4树
是因为2-3-4树
与极为重要的红黑树
有着等价关系
,通过先学习2-3-4树
为后面学习红黑树
打下基础,增进
对于红黑树
的理解。
2 2-3-4树
2-3树
不再是单纯的二叉树
了,因为2-3树
中除了2-节点
之外还存在3-节点
。在2-3树
的基础上进一步扩展
,2-3-4树
在2-3树
的基础上添加4-节点
。4-节点
可以存储3个键值
,最多
可以拥有4棵子树
。
3 定义
(1)每个节点每个节点有1、2或3个key,分别称为2-节点,3-节点,4-节点。
(2)所有叶子节点到根节点的长度一致(也就是说叶子节点都在同一层)。
(3)每个节点的key从左到右保持了从小到大的顺序,两个key之间的子树中所有的 key一定大于它的父节点的左key,小于父节点的右key。
例如:图3.1所示的一棵2-3-4树
。其中,有5个2-节点
,2个3-节点
和1个4-节点
。
图3.1
4 查找
2-3-4树
的查找
类似了二叉树
的查找过程
,通过键值
的比较
来决定遍历方向
。
例如:在图3.1所示树中