알고리즘

다익스트라, 플로이드 와샬 알고리즘 차이

쿠키담임선생님 2022. 11. 11. 14:36

지금 코딩 문제를 푸는게 다익스트라 알고리즘을 사용해야하는지 플로이드 와샬 알고리즘을 사용해야 하는지가 문제이다.

 

자료 검색을 했는데 추상적으로만 알 것 같아서 내가 직접 정리하면서 알아보는 시간을 가져보겠다.

 

다익스트라 : 하나의 정점 -> 다른모든 정점 (최단경로)

플로이드와샬 : 모든정점 -> 다른모든 정점(최단경로)

 

다익스트라는 BFS 형태를 가지고 있다. 또한 너비 우선 탐색처럼 시작점에서 가까운 순서대로 정점을 방문해간다. 가중치가 있는 그래프에서는 너비 우선 탐색을 그대로 적용할 수 없기에 우선순위 큐를 이용하여 이를 해결한다.