-
https://www.acmicpc.net/problem/1197
1197번: 최소 스패닝 트리
첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이
www.acmicpc.net
https://github.com/JUNGSOONIL/JAVA/blob/main/BAEKJOON%201197
GitHub - JUNGSOONIL/JAVA: JAVA 소스 코드
JAVA 소스 코드. Contribute to JUNGSOONIL/JAVA development by creating an account on GitHub.
github.com
해당 문제는 그래프가 주어졌을 때 최소 스패닝 트리를 구하는 문제다.
먼저 그래프를 만들기 위해 클래스를 하나 만들어서 간선 리스트 형식으로
데이터를 저장하고 오름차순으로 정렬을 해준다.
그러고 나서 크루스칼 알고리즘을 이용해서 그래프의 최소비용을 연결해가며
최종적으로 모두 연결하면 총 비용을 출력해 준다.
728x90'알고리즘 > Baekjoon' 카테고리의 다른 글
Baekjoon 1922 네트워크 연결 JAVA (0) 2021.11.09 Baekjoon 17413 단어 뒤집기 2 JAVA (0) 2021.11.09 Baekjoon 10026 적록색약 JAVA (0) 2021.11.09 Baekjoon 10163 색종이 JAVA (0) 2021.11.09 Baekjoon 2669 직사각형 네 개의 합집합의 면적 구하기 JAVA (0) 2021.11.08 댓글