최소 비용 신장 트리

최소 비용 신장 트리 (MST)

Prim 알고리즘 : 가까운 섬부터 확장하기

Kruskal 알고리즘 : 가장 싼 다리부터 찾기

Prim vs Kruskal

<aside> 💡

모든 노드를 연결하되 비용이 최소”라는 목표와 “Kruskal은 간선이 작은 것부터, Prim은 한 정점에서 출발”이라는 차이를 기억

</aside>

구분 크루스칼 (Kruskal) 프림 (Prim)
중심 간선 (Edge) 중심 정점 (Vertex) 중심
핵심 전략 가장 가중치가 낮은 간선을 선택 현재 MST에서 가장 가까운 정점을 선택
자료구조 간선 리스트 정렬, Union-Find 우선순위 큐, 인접 리스트
유리한 경우 희소 그래프 (간선의 수가 적을 때) 밀집 그래프 (간선의 수가 많을 때)
시간 복잡도 $O(E log E)$ (또는 O(E log V)) $O(E log V)$ (우선순위 큐에서 여러 간선을 삽입/팝)

최단 경로