Algorithm/알고리즘 공부
[알고리즘 공부] 프림 알고리즘 Prim's Algorithm
jHoon0223
2024. 1. 11. 16:08
프림 알고리즘이란?
최소 신장 트리 (Minimum Spanning Tree, MST) 구현에 사용되는 알고리즘으로 시작 정점에서 정점을 추가해가며 단계적으로 트리를 확장하는 기법이다.
프림 알고리즘의 시퀀스
1. 시작할 정점을 MST집합에 넣는다.
2. MST집합에 속한 정점들과 인접한 정점들 중 가장 낮은 가중치의 간선과 연결된 정점을 MST집합에 넣는다.
3. 2번과정을 MST집합의 원소 개수가 그래프 정점의 갯수가 될 때까지 반복한다.
4. 만들어진 MST집합의 가중치를 다 더해서 MST Cost 산출.
크루스칼 알고리즘 vs 프림 알고리즘
크루스칼 알고리즘 : Kruskal's Algorithm | 프림 알고리즘 : Prim's Algorithm |
그래프의 최소 가중치 간선들을 정렬된 순서로 추가하여 MST 구성 | 그래프의 아무 정점부터 시작하여 MST 구성 |
통상적으로 O(E logV)의 시간복잡도 | 통상적으로 O(E + V logV)의 시간복잡도 |
주로 간선의 수가 적은 희소그래프_Sparse Graph에 유리 | 주로 간선의 수가 많은 밀집그래프_Dense Graph에 유리 |
728x90