# グラフ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 を追加する