Java数据结构与Java算法学习Day09---并查集(简略笔记记录)

目录

并查集的功能:

1.1并查集结构 136

1.2并查集API设计 137 

1.3并查集代码的实现 137

1.3.1UF(int N)构造方法实现 

1.3.2并查集代码测试 138

1.4并查集应用案例 139

1.5UF_Tree算法优化 139

1.5.1UF_tree API设计

1.5.2优化后的性能分析 140

1.6路径压缩 141

1.7合并集---畅通工程 (未看,后期需要再查看)141


并查集的功能:

1、查询元素p和元素q是否在同一个组内

2、如果查询的两个元素不在同一个组内,那么会将这两个元素所在的组进行合并

Java数据结构与Java算法学习Day09---并查集(简略笔记记录)_第1张图片

1.1并查集结构 136

Java数据结构与Java算法学习Day09---并查集(简略笔记记录)_第2张图片

功能的实现原理:

功能1:

实际上查询两个元素是否在同一个组,实际上是查询的两个元素是否是在同一个树上。

如何判断是否在通过一个树上呢?

实质上:判断元素的根结点是否是同一个。 

功能2:

实际上就是将两个树进行合并成通过一个树上。

1.2并查集API设计 137 

 Java数据结构与Java算法学习Day09---并查集(简略笔记记录)_第3张图片

1.3并查集代码的实现 137

1.3.1UF(int N)构造方法实现 

Java数据结构与Java算法学习Day09---并查集(简略笔记记录)_第4张图片

 本部分的代码在/uf/UF中。

1.3.2并查集代码测试 138

本部分代码在/test/UFtest中

1.4并查集应用案例 139

Java数据结构与Java算法学习Day09---并查集(简略笔记记录)_第5张图片

1.5UF_Tree算法优化 139

Java数据结构与Java算法学习Day09---并查集(简略笔记记录)_第6张图片

1.5.1UF_tree API设计

Java数据结构与Java算法学习Day09---并查集(简略笔记记录)_第7张图片

 本部分的代码在/uf/UF_tree中

1.5.2优化后的性能分析 140

参看文档P10

1.6路径压缩 141

Java数据结构与Java算法学习Day09---并查集(简略笔记记录)_第8张图片

为了使得上面的优化后的内容复杂度能够降低,需要使用到路径压缩的设计。深度变低了,效率就会得到提升了。

原理:文档P11

Java数据结构与Java算法学习Day09---并查集(简略笔记记录)_第9张图片

1.7合并集---畅通工程 (未看,后期需要再查看)141

你可能感兴趣的:(数据结构与算法,算法,数据结构,合并集,java,面试)