数据结构和算法-9-234树

619 阅读1分钟

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树的使用测试:

我是今阳,如果想要进阶和了解更多的干货,欢迎关注公众号”今阳说“接收我的最新文章