알고리즘
[C++] 최단 거리를 구하는 다익스트라( Dijkstra ) 알고리즘
다익스트라( Dijkstra ) 알고리즘 소개다익스트라 알고리즘은 출발 노드로부터, 도달이 가능한 모든 노드까지의 최단 거리들을 한 번에 계산하는 알고리즘입니다.이 알고리즘은 그래프에 음수 가중치의 순환 경로가 존재하는 경우, 최단 거리를 구하지 못하는 제약이 있습니다. 시간 복잡도V: 노드의 수, E: 간선의 수일 때,이 알고리즘의 시간 복잡도는 O( E logV )입니다. 알고리즘의 실행 과정이 알고리즘의 실행 과정은 다음과 같습니다. 1. 출발 노드의 최단 거리를 0으로 설정합니다. 그리고, 나머지 노드들은 최대 값( ∞ )의 최단 거리를 가진 것으로 설정합니다. 2. 현재, 최단 거리를 가진 노드를 선택합니다. 3. 선택된 노드에 연결된 모든 노드에 대해 다음의 비교를 수행해서 더 짧은 거리..
2024. 8. 10.