본문 바로가기

크루스칼 알고리즘2

[백준] BOJ1197 최소 스패닝 트리 https://www.acmicpc.net/submit/1197/10143933 크루스칼 알고리즘을 이용하여 해결한 "최소 스패닝 트리" 문제이다. 문제에서 음수 데이터가 주어지고 있지만,크루스칼 알고리즘은 간선의 가중치가 작은것부터 차례대로 검사하며 골라가는 방식이기 때문에음수/양수 가중치에 모두 사용이 가능하다. import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Comparator; import java.util.StringTokenizer; public class Main { static int[] pa.. 2018. 9. 16.
[백준] BOJ1922 네트워크 연결 - MST(최소신장트리) - 크루스칼 알고리즘 MST (Minimum Spanning Tree) - Kruskal 알고리즘 MST 란 모든 노드를 최소 비용으로 연결하는 알고리즘인데, 아래의 조건을 만족해야 한다. 1) 싸이클이 없어야 하고 2) 모든 노드가 연결되어야 한다. 이 때, a 노드에서 b 노드로 연결되어 있고, b 노드에서 c 노드로 연결되어 있다면, a 노드에서 c 노드로 연결되어 있다고 할 수 있다. Kruskal 알고리즘- 준비 // 간선을 가중치 기준으로 오름차순 정렬한다. // 모든 점을 하나의 트리로 설정한다. (Union & Find 기법 사용) - 시작 // 가중치가 작은 간선부터 하나씩 본다. // 해당 간선을 그래프에 추가할 때 싸이클이 생기지 않는다면 해당 간선을 그래프에 추가한다. 백준 BOJ1922 문제를 풀기 위.. 2018. 9. 16.