Quick-Find

来源:互联网 发布:知乎 fade 编辑:程序博客网 时间:2024/05/21 17:18

Quick-find solution to connectivity problem

#include <iostream>using namespace std;const int N = 100;int main(){int i = 0;int temp = 0;int p, q, id[N];for (i=0; i<N; i++){id[i] = i;}while (cin>>p>>q){// quick findif (id[p] == id[q]){continue;}// slow unionfor (temp=id[p], i=0; i<N; i++){if (id[i] == temp){id[i] = id[q];}}cout<<p<<"  "<<q<<endl;}system("pause");return 0;}

 

quick-find(slow union)测试用例图解:

 

quick-find(slow union)树状表示图解如下:

原创粉丝点击