반응형
프림 알고리즘(최소신장트리, MST, prime)
알고리즘/탐욕(그리디)2023. 9. 23. 15:13프림 알고리즘(최소신장트리, MST, prime)

목차 최소 신장 트리 (MST, Minimum Spanning Tree) 그래프 내의 모든 정점을 포함하면서 사용된 간선들의 가중치 합이 최소가 되는 트리 MST 특징 1) 간선(Edge)의 가중치 합이 최소 2) N개의 정점을 가지는 그래프에서 반드시 (N - 1) 개의 간선만을 사용해야 함 (= 트리의 성질) 3) Cycle을 포함하면 안된다 프림(Prime) 알고리즘 - 인접 리스트와 우선 순위 큐, 그리고 방문 배열을 사용 - 시작점을 기준으로 인접한 정점 중에 아직 연결하지 않았고, 가중치가 최소인 정점을 선택 반복하여 노드를 연결함 - 우선 순위 큐를 집합으로 보고, 가장 가중치가 작은 노드를 우선 순위로 하여 연결(=방문) 여부 확인 후 연결 처리 한다. - 시간 복잡도 : O((V + E)..

[BOJ1368] 물대기 (프림 알고리즘, 최소 신장 트리, 그리디)
알고리즘/탐욕(그리디)2023. 9. 6. 21:21[BOJ1368] 물대기 (프림 알고리즘, 최소 신장 트리, 그리디)

문제 링크 https://www.acmicpc.net/problem/1368 1368번: 물대기 첫 줄에는 논의 수 N(1 ≤ N ≤ 300)이 주어진다. 다음 N개의 줄에는 i번째 논에 우물을 팔 때 드는 비용 Wi(1 ≤ Wi ≤ 100,000)가 순서대로 들어온다. 다음 N개의 줄에 대해서는 각 줄에 N개의 수가 들어 www.acmicpc.net 문제 풀이 문제를 접근할 때 우물을 무조건 하나 파야 한다고 생각해서 제일 적은 비용이 드는 우물을 기준으로 구했으나 '틀렸습니다' 만 나왔다 기술 블로그를 찾아본 결과, 우물을 하나 파는 행위를 간선(Edge) 정보로 추가해서 풀이해야 했다. - 임의 노드 0번에 {i번 논, 논을 파는 비용} 으로 정의해서 컬렉션에 담는다 - 그리고 0번 노드부터 시작하..

[BOJ4386] 별자리 만들기 (프림 알고리즘, 최소신장트리, MST)
알고리즘/탐욕(그리디)2023. 9. 6. 19:28[BOJ4386] 별자리 만들기 (프림 알고리즘, 최소신장트리, MST)

문제 링크 https://www.acmicpc.net/problem/4386 4386번: 별자리 만들기 도현이는 우주의 신이다. 이제 도현이는 아무렇게나 널브러져 있는 n개의 별들을 이어서 별자리를 하나 만들 것이다. 별자리의 조건은 다음과 같다. 별자리를 이루는 선은 서로 다른 두 별을 일 www.acmicpc.net 문제 풀이 - 별자리(노드)를 모두 연결하는 최소 비용을 구하는 문제 - 프림 알고리즘으로 풀이 (최소신장트리, MST) - 시간 복잡도 : O(ElogV) 1) 2차원 좌표로 입력 주어지는데 각각 노드 1, 2, .. 로 보고 노드별 거리 값을 계산하여 컬렉션에 담는다 (양방향 그래프) 2) 시작 노드는 1로 고정해서 프림 알고리즘 수행 - 방문한적 있으면 continue; - 방문한적..

반응형
image