2-3-4树:
- 多叉树,每个节点最多有4个子节点和3个数据项;
- 和红黑树一样是平衡树;
- 效率比红黑树稍差,但编程容易;
- 通过学习2-3-4树可以更容易的理解B-树;
(B-树:一种多叉树,专门用在外部存储(如磁盘存储器)中来组织数据)
- 234树中所有的叶节点总是在同一层上;
- 234的含义:一个节点可能含有子节点的个数,对于非叶节点有3种可能的情况:
- 有一个数据项的节点总是有两个字节点;
- 有两个数据项的节点总是有三个子节点;
- 有三个数据项的节点总是有四个子节点;
- 叶节点没有子节点,但是可能有1,2,3个数据项,空节点是不存在的;
- 节点分裂 和 根的分裂,感觉234树的关键点就在于分裂;
- 234树和红黑树:
- 看上去不同,但某种意义上又是完全相同的;
- 可以通过一些简单的规则相互转换,而且它们保持平衡的操作也是一样的,数学上称之为同构;
- 历史上,234树先被提出,红黑树由他发展而来;
2-3-4树的实现
1. 数据项的模型类:
2. 2-3-4树的节点类:
3. 2-3-4树的实现类,代码稍多,其中会有些注释作为说明:
4. 2-3-4树的使用测试:
我是今阳,如果想要进阶和了解更多的干货,欢迎关注公众号”今阳说“接收我的最新文章