- quick find
1.1 quick find原理
1.2 Java实现程序
1.3 python实现
1.4 消耗的时间 - quick union
2.1 quick union原理
2.2 Java实现
2.3 python实现
2.4 时间复杂度分析
1.quick find
1.1 quick find原理
find和union针对的都是集合,也就是一组不重复的元素。最简单的代表一个集合就是每组元素都给予一个特定的标记,如果标记相同,则代表他们是属于相同的集合的,如果标记不同,可以把其中一个标记改成对方的标记,这样就是简单的union操作。
对于下图的数组id[ ],如果他们有相同的id,说明他们是相连的。比如0-5-6是以0开头的,1-2-7是以1开头的,8-3-4-9是以8 开头的。我们查找的时候就可以查找他们的开头,看一下他们是不是有相同的开头,进而判断他们是否相连。
quick find简单的说就是根据相连的部分,把相连的元素的id全部换成开头元素的ID,如下8-3-4的ID都换成了开头的8.
如此,就分成三部分,每个部分都有相同的ID。