끄적끄적 코딩
article thumbnail
728x90

크루스칼 알고리즘(Kruskal MST)

탐욕적인(Greedy) 방법을 이용하여 그래프의 모든 정점을 최소비용으로 연결하는 최적 해답을 구하는 것


동작과정

1. 간선데이터를 비용에따라 오름차순으로 정렬
2. 간선을 하나씩 확인하며 현재의 간선이 싸이클을 발생 시키는지 확인
  2-1.사이클이 발생하지 않은 경우 최소 신장 트리에 포함
  2-2.사이클이 발생하는 경우 최소 신장 트리에 포함시키지 않음
3. 모든 간선에 대하여 2번을 반복


시간복잡도

간선의 갯수가 E개일때 : O(ElogE)

시간이 가장 오래걸리는 부분이 간선을 정렬하는 작업
정렬의 시간복잡도 = O(ElogE)

검색 태그