# 基于图 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