티스토리 뷰
Spanning Tree
input: 아무 그래프
output: 그래프 내의 모든 정점을 포함하는 트리
* 트리이므로 사이클이 있어서는 안된다.
Minimum Spanning Tree
input: 방향없는 weighted edge 그래프
output: cycle 없는 edge cost가 최소인 spanning tree
(같은 cost인 그래프가 여러개 나올 수도 있다.)
Kruskal's Algorithm
input: 방향없는 weighted edge 그래프
output: cycle 없는 edge cost가 최소인 spanning tree
0) weight순으로 edge를 sorting한다
1) weight이 가장 작은 edge를 선택한다, cycle을 만들지 않는다면 추가
시간복잡도
O(NlogN) : sorting하느라 사용되는 시간
Prim's Algorithm
[Kruskal과 다른점]
처음 노드를 하나 뽑는다. 기존에 봤던 노드 근처에 있는 애들에서만 뽑을 수 있다.
0) 노드를 하나 뽑는다
1) 그 노드에 이어진 weight이 가장 작은 edge를 선택한다, cycle을 만들지 않는다면 추가
'Algorithm > 이론' 카테고리의 다른 글
[Algorithm] 세 수의 합 구하기 (0) | 2022.01.03 |
---|---|
이책을 추천합니다 (0) | 2022.01.03 |
[Algorithm] Unrolled Linked List (0) | 2021.11.23 |
[자료구조][Linux] Bitmap(비트맵), Bit Array(비트 배열) (0) | 2021.11.09 |
[자료구조][Linux][WIP] XArray (0) | 2021.11.09 |