Union-Find Tree | 會動的演算法

符號表示

資料
節點的高度rank

合併集合
尋找被指定的 2 個節點的根節點。root1 ← findSet(x)
root2 ← findSet(y)
指向要合併的根節點。root1, root2
比較根節點的高度。if rank[x] > rank[y]:
指向被選中的新的根節點。x 或 y
將高度加 1。rank[y]++
改寫父節點。parent[?] ← ?
壓縮路徑。parent[x] ← findSet(parent[x]):

演算法動畫

合併集合
Union-Find Tree | 合併集合