Warning: session_start(): open(/tmp/sess_c0d8dc3e3154153cfc6b45d0d26b39eb, O_RDWR) failed: No space left on device (28) in /data/wiki/inc/init.php on line 239

Warning: session_start(): Failed to read session data: files (path: ) in /data/wiki/inc/init.php on line 239

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/auth.php on line 430

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/actions.php on line 38

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/lib/tpl/dokuwiki/main.php on line 12
2020-2021:teams:no_morning_training:shaco:知识点:数据结构:并查集 [CVBB ACM Team]

用户工具

站点工具


2020-2021:teams:no_morning_training:shaco:知识点:数据结构:并查集

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
2020-2021:teams:no_morning_training:shaco:知识点:数据结构:并查集 [2020/07/02 11:22]
shaco
2020-2021:teams:no_morning_training:shaco:知识点:数据结构:并查集 [2020/07/06 09:15] (当前版本)
shaco
行 3: 行 3:
 并查集应用广泛,用于判断元素是否属于同一个集合以及合并集合。 并查集应用广泛,用于判断元素是否属于同一个集合以及合并集合。
 ==== 复杂度 ==== ==== 复杂度 ====
-最坏到 $O(n)$,单独使用路径压缩达到 $O(n+f(1+\log_{2+f/​n}n))$,单独使用按秩合并可达到 $O(\log{n})$,两者同时使用可以达到 $O(\alpha (n))$,其中 $\alpha (n)$ 是阿克曼函数的反函数,可以认为非常小(这部分参照网上)。按秩合并即每次将小的集合合并到大的集合中去,可以减少修改次数。+最坏到 $O(n)$,单独使用路径压缩达到 $O(n+f(1+\log_{2+f/​n}n))$,单独使用按秩合并可达到 $O(\log{n})$,两者同时使用可以达到 $O(\alpha (n))$,其中 $\alpha (n)$ 是阿克曼函数的反函数,可以认为非常小。按秩合并即每次将小的集合合并到大的集合中去,可以减少修改次数。
 ==== 概念 ==== ==== 概念 ====
 每个集合有一个代表元素,每一个元素通过一个数组记录其所属集合的代表元素。判断两个元素是否属于同一个集合时查询它们的代表元素是否相同,合并集合时将一个集合的代表元素更替为另一个集合的代表元素。 每个集合有一个代表元素,每一个元素通过一个数组记录其所属集合的代表元素。判断两个元素是否属于同一个集合时查询它们的代表元素是否相同,合并集合时将一个集合的代表元素更替为另一个集合的代表元素。
行 182: 行 182:
     if(x>​n||y>​n||(d&&​x==y)) return 1;     if(x>​n||y>​n||(d&&​x==y)) return 1;
     int fx=Find(x),​fy=Find(y);​     int fx=Find(x),​fy=Find(y);​
-    //​printf("​%d %d %d %d %d %d\n",​x,​y,​fx,​fy,​fa[x][1],​fa[y][1]);​ 
     if(fx==fy)     if(fx==fy)
     {     {
2020-2021/teams/no_morning_training/shaco/知识点/数据结构/并查集.1593660120.txt.gz · 最后更改: 2020/07/02 11:22 由 shaco