Floyd-Warshall algoritmus (Floyd-Warshall algorithm)

Animáció


Struktogram

$FloydWarshall(A/1, D/1 : \mathbb{R}_{\infty} [n,n]; \pi : \mathbb{N}[n,n]) : \mathbb{N}$

$i := 1 \space to \space n$
$j := 1 \space to \space n$
$D[i,j] := A[i,j]$

$i \neq j \land A[i,j] < \infty$

$\pi [i,j] := i$ $\pi [i,j] := 0$
$k := 1 \space to \space n$
$i := 1 \space to \space n$
$j := 1 \space to \space n$

$D[i,j] > D[i,k] + D[k, j]$

$D[i,j] := D[i,k] + D[k, j]$ $\text{SKIP}$
$\pi [i, j] := \pi [k,j]$

$i = j \land D[i,i] < 0$

$\text{return} \space i$ $\text{SKIP}$
$\text{return} \space 0$

Feladatok