Kruskal's Algorithm 구현 1 (Method without applying the Collapse Rule)

프로그램 개요 : C 언어를 사용한 Kruskal's Algorithm(Kruskal Algorithm) 구현. 붕괴법칙을 적용하지 않은 Kruskal's Algorithm. 붕괴법칙을 적용한 Kruskal's Algorithm Kruskal's Algorithm에 대한 Explanation은 아래 링크의 이전 글에서 볼 수 있습니다. 2020.07.02 - [알고리즘] - 크러스컬(Kruskal) 알고리즘 [크러스컬(Kruskal) 알고리즘 크러스컬(Kruskal) 알고리즘이란? Kruskal's Algorithm은 최소 비용 신장 그래프를 찾는 알고리즘 입니다. 변의 개수를 E, 꼭지점의 개수를 V라고 한다면 Kruskal's Algorithm은 O(ElogV)의 시간 복잡도 sobamemil.tistory.com](https://sobamemil.tistory.com/150) 이 글에서는 예로 주어진 그래프에 대해서 Kruskal's Algorithm으로 문제를 해결하는 방법과 코드를 작성하였습니다. ...

April 9, 2021 · 9 min · Sobamemil

Kruskal's Minimum Spanning Tree Algorithm

크러스컬(Kruskal) 알고리즘이란? Kruskal's Algorithm은 최소 비용 신장 그래프를 찾는 알고리즘 입니다. 변의 개수를 E, 꼭지점의 개수를 V라고 한다면 Kruskal's Algorithm은 O(ElogV)의 시간 복잡도를 갖습니다. 크러스컬의 MST(욕심쟁이 방법) 알고리즘 간략 Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 edge_set kruskal_MST(edge_set E, int n) { sort(E); // 간선 정렬 edge_set MST_E = { }; for (i=0; i<n; i++) init_set(i); // n개의 집합(트리)을 생성 while(MST_E의 간선 수 < n - 1) { (u, v) = E의 최소 가중치 간선; E = E - {(u, v)}; if(find(u) != find(v)) // u와 v가 다른 집합(트리) 원소 { MST_E = MST_E ∪ {(u, v)}; // 간선 추가 union(u, v); // 두 집합(트리)을 합병 } } return MST_E; } - 예제 - ...

July 2, 2020 · 2 min · Sobamemil