Dijkstra Algorithm - 다익스트라 알고리즘 분석
·
Computer Science/Algorithm
다익스트라 알고리즘은 어떤 그래프 내에서 출발노드를 지정하여, 출발 노드에서 모든 노드로의 최소비용을 구하는 알고리즘이다. 다익스트라 알고리즘은 다음과 같은 순서로 진행된다. 출발 노드를 정한다. 출발 노드로부터 갈 수 있는 모든 노드들에 대해 최소비용을 갱신한다. 방문하지 않은 노드중 최소비용의 노드를 선택한다. 선택된 노드로 부터 갈 수 있는 노드들에 대해 최소비용을 갱신한다. 3 ~ 4를 반복한다. 이 루틴을 구현해 보면 정상적으로 실행된다는 결과는 얻을 수 있었지만, 3번, 왜 방문하지 않은 노드 중 최소값을 선택하는지 개념적으로 이해하지 못했다. 이를 이해하기 위해 먼저 아래 그림에서 1번노드를 출발노드로 실행되는 과정을 살펴 보았다. 아래 그림에서 출발노드인 1번 노드에서 갈 수 있는 노드는 ..