**Minimum spanning tree(MST, 최소 신장 트리)**는 가중 연결 그래프의 모든 정점을 최소 총 간선 가중치로 사이클 없이 연결합니다. Kruskal과 Prim은 두 가지 전형적인 greedy 알고리즘입니다.
Kruskal (간선 정렬, union-find)
모든 간선을 가중치로 정렬하고, 사이클을 만들지 않는 가장 싼 간선을 추가합니다.
python
():
parent = ((n))
():
parent[x] != x:
parent[x] = parent[parent[x]]
x = parent[x]
x
mst, total = [],
w, u, v (edges):
ru, rv = find(u), find(v)
ru != rv:
parent[ru] = rv
mst.append((u, v, w)); total += w
mst, total
