336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
프림 알고리즘과 동일하게
가중치 갖는 무향 그래프에서
최소신장트리 MST 를 찾는 알고리즘 임.
크루스칼 알고리즘은
시작정점 없이!
모든 간선 중 가중치가 제일 작은 간선을 기준하여 연결하는 것이다.
이때 간선을 연결하며, 사이클 판정 연결 판정은 유니온파인드로 하면 된다.
가중치가 낮은 순서대로 다시 연결과정을 진행한다.
8-9보다 6-9 간선이 앞서므로 연결시킨다.
이후 8-9 간선은 정점 8, 9 가 같은 루트를 가지기 때문에... 연결할 수 없다.
가중치 갖는 무향 그래프에서
최소신장트리 MST 를 찾는 알고리즘 임.
크루스칼 알고리즘은
시작정점 없이!
모든 간선 중 가중치가 제일 작은 간선을 기준하여 연결하는 것이다.
이때 간선을 연결하며, 사이클 판정 연결 판정은 유니온파인드로 하면 된다.
위와 같은 그래프가 있다면,
가장 작은 가중치를 갖는 간선 중 사이클이 발생하지 않으므로 모두 연결시킨다.
하나씩 연결하는 순서인데 1-4를 연결하던 4-7을 연결하던 순서는 중요하지 않으므로, 연결판정이 가장 중요하다. 여기서는 두 정점 A-B 을 연결한 간선 중 두 정점중 더 낮은 간선을 먼저 연결한다고 하자. 만약 더 낮은 정점 A 가 같다면 B 가 더 낮은 간선을 연결한다고 하자.
연결을 하게 되면 위와 같고, 아직 모든 연결이 되어 있지 않으므로,
가중치가 낮은 순서대로 다시 연결과정을 진행한다.
가중치 2인 간선을 연결하고 ,
그리고 3인 간선을 연결하려고 보니 유니온파인드로 보면 두 정점 간 루트가 같으므로 합칠 수 없다.
가중치 4인 간선또한 동일하므로 합칠 수 없고
가중치 5인 간선또한 합칠 수 없다.
누구와도 연결이 되지 않은 정점 10번을 연결하는 가중치 6인 간선을 연결할 수 있다.
그리고 동등한 가중치를 갖는 간선을 기준으로 낮은 정점을 기준하여 간선을 연결하므로......
8-9보다 6-9 간선이 앞서므로 연결시킨다.
이후 8-9 간선은 정점 8, 9 가 같은 루트를 가지기 때문에... 연결할 수 없다.
마지막 가중치 10인 간선 또한 정점 9, 정점 10이 같은 루트를 가지므로 연결할 수 없다.
결과로 프림이나 크루스칼이나 동등한 그래프가 주어질 때 동일한 기준으로 MST를 구하면 같게 나온다.
'PSNote > Algorithm' 카테고리의 다른 글
펜윅트리(fenwick tree), 바이너리인덱스트리(BIT ; Binary Indexed Tree) (0) | 2017.07.18 |
---|---|
이분탐색(Binary Search) (0) | 2017.07.18 |
유니온-파인드(Union-Find),연결판정 (0) | 2017.07.17 |
프림 알고리즘(Prim's Algorithm) (0) | 2017.07.17 |
플로이드-와샬 알고리즘(Floyd-Warshall Algorithm) (0) | 2017.07.17 |