플로이드-와샬 알고리즘

IT위키
211.186.8.236 (토론)님의 2021년 2월 12일 (금) 17:48 판
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
Floyd-Warshall Algorithm
전체쌍(All-pair) 최단경로 알고리즘

의사 코드[편집 | 원본 편집]

Shortest(A, C)
{
  for(i=1; i<=n; i++)
    do for(j=1; j<=n; j++)
      do A[i,j] = C[i,j];
        P[i,j] = 0;
      for(i=1; i<=n; i++)
        do A[i,i] = 0;
  for(k=1; k<=n; k++)
    do for(i=1; i<=n; i++)
      do for(j=1; j<=n; j++)
        if A[i,j] > A[i,k] + A[k,j]
           A[i,j] = A[i,k] + A[k,j]
           P[i,j] = k;
}