Time and Space Complexity
Coddy의 크루스칼 알고리즘 - 그래프 알고리즘 코스 레슨 — 9개 중 7번째.
시간 복잡도:
- E개의 간선을 정렬하는 것은 O(E log E)입니다. 경로 압축(path compression)을 사용한 각 union-find 연산은 거의 O(1)에 가까우므로, 전형적인 Kruskal 알고리즘은 O(E log E)입니다. 여기서 우리가 구현한 최소 선택 버전은 O(E2)이며, 이는 작은 그래프에서 적합합니다.
공간 복잡도:
- parent 배열을 위해 O(V)가 필요합니다 (입력 간선 제외).
요약:
- Kruskal 알고리즘은 사이클을 확인하기 위해 union-find를 사용하며, 매 단계에서 사이클을 형성하지 않는 가장 저렴한 간선을 추가하여 MST를 확장합니다.
- 모든 MST는 동일한 총 가중치를 공유하므로, 결과값은 유일합니다.
직접 해보기
이 레슨에는 코드 챌린지가 없습니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
크루스칼 알고리즘 - 그래프 알고리즘의 모든 레슨
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)