모든 쌍의 최단 경로(All Pairs Shortest Path, ASP)의 대표적인 알고리즘
Matrix Multiplication
예시
플로이드-와샬(Floyd-Warshall 알고리즘)
거처가는 정점을 기준으로 최단 거리를 구하는 것
다익스트라,벨만-포드의 경우는 간선 하나씩 늘어나면서 계산, 반면 플로이드-와샬은 경유하는 정점이 하나씩 늘어나면서 계산
D : 그래프의 가중치를 담은 인접행렬 , 모든 쌍의 최단경로 비용 표시
π : 선행자 인접행렬 , 최단 경로 그 자체를 구할 때 사용
k 정점을 거쳤을 때 거리가 그대로거나 더 크다면 그대로 , 작아졌다면 값을 갱신 하는 과정
pseudo code
시간 복잡도 : O(n^3)
공간 복잡도 : O(n^2)
예시
정점의 개수 4 까지 하여 나온 행렬들이 최종 결과
반응형
'미가공 필기(알고리즘)' 카테고리의 다른 글
220117 이분탐색 : UpperBound vs LowerBound (0) | 2022.01.17 |
---|---|
210713 NP vs P (0) | 2021.07.13 |
210709 벨만-포드(Bellman-Ford), 다익스트라(Dijkstra) (0) | 2021.07.13 |
210708 최소 신장 트리 with Kruskal, Prim 알고리 (0) | 2021.07.10 |
210708 너비 우선 탐색(BFS) & 깊이 우선 탐색(DFS) (0) | 2021.07.09 |
댓글