플루이드 와샬

다익스트라는 간선에 가중치가 있을 때 출발 정점에서 도착 정점까지의 최단 거리를 구하는 알고리즘이다. 플루이드 와샬도 최단 거리를 구한다는 점은 동일하다. 하지만 플루이드 와샬은 모든 정점에서 모든 정점까지의 최단 거리를 구한다는 점에서 차이가 있다. 또한 다익스트라는 가장 적은 비용의 간선을 선택하지만 플루이드 와샬은 거쳐가는 정점을 정해서 비용을 비교하고 갱신한다. 그림으로 알고리즘의 진행 과정을 살펴보자. 먼저 다음과 같이 그래프에 대해서 인접 행렬을 초기화한다. 이제 1을 거치지 않는 경로와 1을 거쳐가는 경로의 비용을 비교해서 인접 행렬을 갱신해준다. 다음으로 2를 거치지 않는 경로와 2를 거쳐가는 경로의 비용을 비교해서 갱신한다. 다음으로 3 다음으로 4 다음으로 5 최종 모습 이제 소스 코드..
@xftg77g
'플루이드 와샬' 태그의 글 목록