
최단 거리 알고리즘 - 다익스트라 (BOJ 1238 파티)
·
코딩테스트/C++
다익스트라 알고리즘최단 거리를 구하고자 하는데 거리가 일정하지 않다면 다익스트라를 생각하면 된다.또한 중요한 한가지는 음수 길이의 간선이 존재하지 않을 때 사용하면 좋다. 1. "최단 거리 개발 중"에서 최단 거리가 가장 작은 노드를 "최단 거리 확정"으로 옮긴다.2. 옮긴 노드와 연결 된 "최단 거리 개발 중"에 포함된 노드의 최단거리 연산 및 업데이트를 진행한다.=> 이때 "최단 거리 개발 중"은 우선순위 큐를 이용하여 weight의 최솟값을 뽑아내야한다. 다익스트라 알고리즘의 골조1. adj 생성(그래프 생성)2. Dijk[] 의 값을 INF로 초기화 한다. ( INT_MAX )3. 처음 시작 노드 pq(priority queue)에 삽입, Dijk[start] = 0으로 초기화4. while 문을..