# 從圖形 g 中建立最小生成樹 MST kruskal(g): MST ← 空串列 edges ← 利用串列儲存 g 的邊 將 edges 按照權重大小以升冪方式排序 DisjointSet ds(g.N) # 生成元素數為 N 且互不相交之集合 for e in edges: u ← e 的第 1 個端點 v ← e 的第 2 個端點 if ds.findSet(u) ≠ ds.findSet(v): ds.link(u, v) 將 e 新增至 MST 內