並查集 新手學習記錄

2022-08-01 06:27:13 字數 1058 閱讀 1774

好吧,什麼垃圾並查集,並查集什麼的都是鐵憨憨<+__+>

現在開始複習回憶:(新手,有錯誤望指正)

什麼叫做並查集,並查集就是乙個集合問題,其實最主要的就是知道並查集是乙個求解集合數目的問題,具體的操作方法有點飄。

或者這樣理解:——並查集通過乙個一維陣列來實現,其本質是維護乙個森林。(好吧,我也不是很理解),我的理解就是通過一維陣列來實現,子節點與父節點之間聯絡,然後查詢集合個數。。。。。。。

好吧,不清楚,如果看了前面你很懵逼,那就全都忘了吧,,,

接下來才是正餐:

直接上**:

題目是杭電的暢通工程:

#includeint fa[1001]=;

void zore(int n)//

未知量用n表示,初始化

int find_father(int x)//

返回老大,或者說是根節點

}void unions(int n,int

m)int

main()

for(int i=1;i<=n;i++)

printf(

"%d\n

",sum-1

); }

return0;

}

現在我們把**拆開來說:

int main()

for(int i=1;i<=n;i++)

printf("%d\n",sum-1);

}return 0;

}

接下來:

int fa[1001]=;

void zore(int n)//初始化作用,這點很重要,因為這個操作為我們接下來的操作提供了資料

再接下來:

int find_father(int x)//這個very very重要

}

再接下來再:

void unions(int n,int m)

void unions(int x,int y)

演算法學習記錄 並查集

上大物學了會並查集,感覺挺簡單的,而且很好玩,繼dfs,bfs和floyd演算法外又學了一種求連通塊的演算法,綜合下來這幾種演算法各有優劣吧.並查集演算法詳解見此 模板如下 include using namespace std define maxn 100001 int father maxn ...

並查集 學習

yx th000 cherish yimi 昨天和今天學習了並查集和 trie 樹,並練習了三道入門題目,理解更為深刻,覺得有必要總結一下,這其中的內容定義之類的是取自網路,操作的說明解釋及程式的注釋部分為個人理解。並查集學習 l 並查集 union find sets 一種簡單的用途廣泛的集合.並...

並查集 並查集

本文參考了 挑戰程式設計競賽 和jennica的github題解 陣列版 int parent max n int rank max n void init int n int find int x else void union int x,int y else 結構體版 struct node ...