[Algorithm] Kruskal 알고리즘
·
ALGORITHM
Kruskal Algorithm 이란?가중치가 작은 간선부터 선택하면서, 사이클이 생기지 않도록 추가하는 방식알고리즘 과정모든 간선을 가중치 기준으로 오름차순 정렬한다.가중치가 가장 작은 간선부터 하나씩 선택한다. 유니온-파인드를 사용해 사이클이 생기는지 확인한다.만약 사이클이 생기지 않는다면, 해당 간선을 선택한다.만약 사이클이 생긴다면, 해당 간선을 버린다. N-1개의 간선이 선택될 때까지 반복한다. (MST의 성질)import sysinput = sys.stdin.readline# 유니온 파인드 (경로 압축 적용)def find(parent, x): if parent[x] != x: parent[x] = find(parent, parent[x]) return parent[x]..