Speeding up shortest path algorithms
Abstract
Given an arbitrary, non-negatively weighted, directed graph G=(V,E) we present an algorithm that computes all pairs shortest paths in time O(m* n + m n + nT(m*, n)), where m* is the number of different edges contained in shortest paths and T(m*, n) is a running time of an algorithm to solve a single-source shortest path problem (SSSP). This is a substantial improvement over a trivial n times application of that runs in O(nT(m,n)). In our algorithm we use as a black box and hence any improvement on results also in improvement of our algorithm. Furthermore, a combination of our method, Johnson's reweighting technique and topological sorting results in an O(m*n + m n) all-pairs shortest path algorithm for arbitrarily-weighted directed acyclic graphs. In addition, we also point out a connection between the complexity of a certain sorting problem defined on shortest paths and SSSP.
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.