티스토리 뷰
크루스칼 알고리즘은 가장 적은 비용으로 모든 노드를 연결하기 위해 사용하는 알고리즘.
예를 들어, 여러개의 도시가 있을 경우 가장 적은 가중치를 가지는 도시를 먼저 연결한다. 이걸 계속 반복해 나아가며 결국에는 모든 노드를 연결해 그래프를 완성해 나가는 것이다.
최종적으로 완성되는 그래프의 간선 숫자는
노드 숫자 == 노드 숫자 - 1
"간선을 거리가 짧은 순서대로 그래프에 포함시킨다."
1. 노드들의 가중치를 오름차순으로 정렬을 수행한다.
2. 정렬된 순서에 맞게 그래프에 포함시킨다.
3. 하지만, 사이클이 형성되는지 확인하고 발생하지 않는 경우에만 간선에 포함시킨다. (사이클 테이블)
사이클이란?
코드 추가 예정.
'Algorithm > Algorithm' 카테고리의 다른 글
다익스트라 알고리즘(Dijkstra Algorithm) (0) | 2020.07.25 |
---|---|
다이나믹 프로그래밍(Dynamic Programming)이란? (0) | 2020.07.22 |
★ Union-Find 합집합 찾기 (0) | 2020.07.19 |
C++ / 힙 정렬(Heap Sort) (0) | 2020.07.15 |
[codeit] 재귀 함수 (Recursive Function) (0) | 2019.06.15 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- call by reference
- 직접 지정
- 공부
- 재귀함수
- 알고리즘
- timecomplexity
- inflearn
- 1차원 배열
- 공용체
- 파이썬
- 비트필드
- 배열
- 2차원 배열
- 자료구조
- call by value
- 공간복잡도
- Algorithm
- 포인터
- 시간복잡도
- codeit
- 3차원 배열
- 구조체
- 회전리스트
- 다차원 배열
- C
- 형승격
- 종류
- 프로그래밍
- 강의
- 간접 지정
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함