All pairs shortest paths: Difference between revisions

From Algowiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
== Input ==
== Input ==


# A [[directed Graph]] <math>G = (V,A)</math>
# A [[Basic graph definitions|directed graph]] <math>G = (V,A)</math>
# An arc length <math>l(a) \in \mathbb{R}</math> for each arc <math>a \in A</math>
# An arc length <math>l(a) \in \mathbb{R}</math> for each arc <math>a \in A</math>



Revision as of 04:38, 22 October 2014

Input

  1. A directed graph [math]\displaystyle{ G = (V,A) }[/math]
  2. An arc length [math]\displaystyle{ l(a) \in \mathbb{R} }[/math] for each arc [math]\displaystyle{ a \in A }[/math]

Ouptut

For each pair [math]\displaystyle{ (v,w) \in A }[/math] with [math]\displaystyle{ v,w \in V }[/math], the length [math]\displaystyle{ \Delta(v,w) }[/math] of a shortest [math]\displaystyle{ (v,w) }[/math]-path in [math]\displaystyle{ G }[/math] with respect to [math]\displaystyle{ l }[/math].

Complexity

Polynomial

Known algorithms

  1. Floyd-Warshall
  2. Bellman-Ford
  3. Shortest oaths by repeated squaring (varian of Bellman-Ford)