다익스트라
그래프에서 최단 거리를 구하는 알고리즘
- 출발 노드와 모든 노드간의 최단 거리 검색
- 제약 조건 : 에지는 모두 양수
- 시간 복잡도는 O(ElogV) V: 노드 수, E: 에지 수
💡 다익스트라 알고리즘의 핵심 이론
1. 인접리스트로 그래프 구현하기
2. 최단거리 배열 초기화하기
3. 값이 가장 작은 노드 고르기
4. 최단 거리 배열 업데이트 하기
현재 선택된 노드의 에지들을 탐색하고 업데이트
-> Min(선택 노드의 최단 거리 배열의 값 + 에지 가중치, 연결 노드의 최단 거리 배열의 값)
5. 과정 3~4를 반복해 최단 거리 배열 완성하기
과정 4에서 이미 선택됐던 노드를 다시 방문하지 않기위해 방문 배열(visited)을 만든다.
☝🏻 다익스트라 알고리즘은 출발 노드와 그외 노드 간의 최단 거리를 구하는 알고리즘이다
'[ STUDY ] > CodingTest' 카테고리의 다른 글
[ 그래프 ] 플로이드-워셜(백준 11404) (1) | 2024.11.12 |
---|---|
[ 그래프 ] 벨만-포드(Bellman-Ford, 백준 11657) (1) | 2024.11.11 |
[ 그래프 ] 위상 정렬(백준 2252, 1516) (1) | 2024.11.10 |
[ 그래프 ] Union-Find(백준 1717, 1043, 1976) (3) | 2024.11.09 |
[ 그래프 ] 그래프(백준 1707) (0) | 2024.11.09 |