Closed icegosimperson closed 1 month ago
🤔 시간복잡도 고려사항
💡 풀이 아이디어
최소 신장 트리
구성🤔 시간복잡도 고려사항
💡 풀이 아이디어
🤔 시간복잡도 고려사항
💡 풀이 아이디어
🤔 시간복잡도 고려사항
1 <= 섬의 개수(노드) <= 100
100C2 × 2
N
일때, 시간복잡도: O(NlogN)
💡 풀이 아이디어
class Edge
int s
: 시작점, int e
: 끝점, int w
: 가중치PriorityQueue<Edge> q
: cost
배열을 통해 Edge
저장 (Edge.w
에 대해 우선순위)int mst()
: 간선의 노드의 개수 - 1
개 만큼 생길 때 까지 union()
, find()
하면서 mst
진행🤔 시간복잡도 고려사항
v=100, O(E logV)
💡 풀이 아이디어
프림 알고리즘
Comparable
: 비용 기준으로 오름차순 정렬 PriorityQueue<Point> queue
: 최소 비용 간선 선택해서 모든 인접 노드를 확인MST문제 크루스칼로만 풀어봤었는데, 이번에는 프림으로 한번 풀어 봤습니다ㅎㅅㅎ
🤔 시간복잡도 고려사항
MST
크루스칼 알고리즘O(eloge)
💡 풀이 아이디어
오름차순 정렬
후 union-find
순회간선수는 n-1
개처음에는 이미지가 사이클로 형성된 간선이라서 크루스칼이 아닌 DFS 문제라고 생각함