next up previous
Next: Up: Previous:

Extending By One More Edge



Extend-Shortest-Paths(D,W) $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$; (A, B)
$\;\;\;\;\;$n = rows(D)
$\;\;\;\;\;$initialize D' $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$; n x n matrix (C)
$\;\;\;\;\;$for i = 1 to n
$\;\;\;\;\;$ $\;\;\;\;\;$for j = 1 to n
$\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$ $d'_{ij} = \infty$ $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$; (initialize to 0)
$\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$for k = 1 to n
$\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$ $d'_{ij} = \min(d'_{ij}, d_{ik} + w_{kj})$ $\;\;\;\;\;$; ( $c_{ij} =
c_{ij} + a_{ik} \cdot b_{kj}$)
$\;\;\;\;\;$return D' $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$ $\;\;\;\;\;$; (C)



Slow-APSP(W)
$\;\;\;\;\;$n = rows(W)
$\;\;\;\;\;$D(1) = W
$\;\;\;\;\;$for m = 2 to n-1
$\;\;\;\;\;$ $\;\;\;\;\;$D(m) = Extend-Shortest-Paths(D(m-1), W)
$\;\;\;\;\;$return D(n-1)



Running times:

Extend-Shortest-Paths: $\Theta(n^3)$
Slow-APSP:
$\Theta(n^4)$


next up previous
Next: Up: Previous: