파이썬 다익스트라 최단경로
본문 바로가기
IT정보

파이썬 다익스트라 최단경로

by AICanvas 2023. 5. 22.
728x90
SMALL

어느 분의 질문 

 

입력값이

9 64
1
1 2 150
1 3 100
1 4 100
1 5 130
1 6 95
1 7 82
1 8 120
1 9 120
2 3 33
2 4 17
2 5 9
2 6 46
2 7 31
2 8 26
2 9 14
3 2 39
3 4 19
3 5 39
3 6 18
3 7 37
3 8 13
3 9 25
4 2 17
4 3 31
4 5 19
4 6 18
4 7 31
4 8 13
4 9 14
5 2 17
5 3 38
5 4 19
5 6 31
5 7 29
5 8 27
5 9 14
6 2 38
6 3 7
6 4 17
6 5 31
6 7 31
6 8 4
6 9 20
7 2 31
7 3 40
7 4 25
7 5 23
7 6 32
7 8 28
7 9 14
8 2 34
8 3 17
8 4 13
8 5 26
8 6 10
8 7 34
8 9 14
9 2 21
9 3 28
9 4 14
9 5 13
9 6 20
9 7 14
9 8 14

이렇게고

출력값이 

0
113
100
100
105
95
82
99
96

나왔는데 1번에서 시작해서 7번노드로 끝나는게 최단경로인가요??
중간경로는 어떻게 되나욘/?

 

질문 하셨어요

 

답변 

 

주어진 입력값과 출력값을 보면, 1번 노드에서 시작하여 다익스트라 알고리즘을 사용하여 최단경로를 계산한 결과입니다. 각 노드까지의 최단거리가 출력되고, 7번 노드까지의 최단거리는 82입니다. 따라서 1번에서 시작하여 7번 노드까지의 경로가 최단경로입니다.

다익스트라 알고리즘은 시작 노드에서 다른 모든 노드까지의 최단거리를 계산하는 알고리즘입니다. 그래서 중간 경로에 대한 정보는 출력값에 포함되어 있지 않습니다. 다익스트라 알고리즘은 최단거리를 계산하기 위한 것이므로, 최단경로를 제공하지만 정확한 경로를 나타내지는 않습니다.

만약 최단경로의 실제 경로를 알고 싶다면, 다익스트라 알고리즘을 구현할 때 경로를 추적하는 추가적인 로직이 필요합니다. 일반적으로 각 노드에 이전 노드에 대한 정보를 저장하는 방식으로 경로를 추적할 수 있습니다. 이를 활용하여 최단경로의 실제 경로를 별도로 출력할 수 있습니다.

따라서 출력값만으로는 최단경로의 중간 경로에 대한 정보를 직접 파악하기 어렵습니다. 최단경로의 실제 경로를 추적하고자 한다면, 다익스트라 알고리즘을 구현할 때 경로 추적 기능을 추가해야 합니다.

728x90
LIST

댓글