# グラフ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.unite(u, v) MST にe を追加する