【筆記】並查集兩種優化方式:路徑壓縮與按秩合併
阿新 • • 發佈:2021-01-28
-
路徑壓縮
將所有連通節點掛在同一個根節點上,相當於把一顆高度大於2的樹壓縮為高度為2的樹。int find(vector<int> &parents, int index) { if(parents[index] != index) { parents[index] = find(parents, parents[index]); } return parents[index]; }
-
按秩合併
將秩小的樹合併到秩大的樹上,秩可以是樹的深度,也可以是樹的大小。void Union(vector<