...

/

Introduction to All-Pairs Shortest Paths

Introduction to All-Pairs Shortest Paths

Learn about the history and evolution of all-pairs shortest paths algorithms.

Shortest path tree

Previously, we discussed several algorithms to find the shortest paths from a single-source vertex ss to every other vertex of the graph by constructing the shortest path tree rooted at ss. The shortest path tree specifies two pieces of information for each node vv in the graph:

  • dist(v)dist(v): This is the length of the shortest path from ss to vv.
  • pred(v)pred(v): This is the second-to-last vertex in the shortest path from ss to vv.

Now, we consider the more general all-pairs shortest path problem, which asks for the shortest path from every possible source to every possible destination. For every pair of vertices uu and vv, we want to compute the following information:

  • dist(u,v)dist(u, v): This is the length of the shortest path from uu to vv.

  • pred(u,v)pred(u, v): This is the second-to-last vertex on the shortest path from uu to vv. These intuitive definitions exclude a few boundary cases, all of which we already saw previously.

  • If there is no path from uu to vv, then there is no shortest path from ...

Create a free account to access the full course.

By signing up, you agree to Educative's Terms of Service and Privacy Policy