최소 신장 트리 - 프림(Prim) 알고리즘

Program Lang./Algorithm 2017. 11. 20. 14:04

1. 소스 코드

아래 블로그의 설명과 그림을 참조하여 최소 신장 트리 알고리즘 중에 하나인 프림 알고리즘을 구현해 보았다.

우선 순위 큐를 기반으로 구현하였으며, 결과적으로 다른 블로그의 예제와 유사해 보인다.


전체적으로 이해한 바로는 그래프를 너비 우선 순위로 탐색하는 것과 유사하게 구현 뼈대를 가져가고,

단지 Queue에 넣을 때는 일반 Queue가 아닌 우선 순위 큐를 사용하다는 점에 착안하여 구현하는 방향으로

구현해야 한다.


http://swlock.blogspot.kr/2016/02/prim-mstminimum-spanning-tree.html



[직관적인 코드] 
우선 순위 큐를 사용하지 않고 직관적으로 구현했을 때.



2. 실행 결과


D -> A [5]
D -> F [6]
A -> B [7]
B -> E [7]
E -> C [5]
E -> G [9]


: