Undirected single source shortest paths in linear time

The single source shortest paths problem (SSSP) is one of the classic problems in algorithmic graph theory: given a weighted graph G with a source vertex s, find the shortest path from s to all other vertices in the graph. Since 1959 all theoretical developments in SSSP have been based on Dijkstra's algorithm, visiting the vertices in order of increasing distance from s. Thus, any implementation of Dijkstra's algorithm sorts the vertices according to their distances from s. However, we do not know how to sort in linear time. Here, a deterministic linear time and linear space algorithm is presented for the undirected single source shortest paths problem with integer weights. The algorithm avoids the sorting bottle-neck by building a hierarchical bucketing structure, identifying vertex pairs that may be visited in any order.

[1]  Robert E. Tarjan,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1987, JACM.

[2]  Kurt Mehlhorn,et al.  Bounded Ordered Dictionaries in O(log log N) Time and O(n) Space , 1990, Information Processing Letters.

[3]  R. Prim Shortest connection networks and some generalizations , 1957 .

[4]  Philip N. Klein,et al.  Faster Shortest-Path Algorithms for Planar Graphs , 1997, J. Comput. Syst. Sci..

[5]  Kurt Mehlhorn,et al.  Faster algorithms for the shortest path problem , 1990, JACM.

[6]  Rajeev Raman,et al.  Priority Queues: Small, Monotone and Trans-dichotomous , 1996, ESA.

[7]  Michael L. Fredman,et al.  Surpassing the Information Theoretic Bound with Fusion Trees , 1993, J. Comput. Syst. Sci..

[8]  Peter Bro Miltersen,et al.  Fusion Trees can be Implemented with AC0 Instructions Only , 1999, Theor. Comput. Sci..

[9]  Mikkel Thorup,et al.  On RAM priority queues , 1996, SODA '96.

[10]  Andrew V. Goldberg,et al.  Buckets, heaps, lists, and monotone priority queues , 1997, SODA '97.

[11]  Michael L. Fredman,et al.  Trans-dichotomous algorithms for minimum spanning trees and shortest paths , 1990, Proceedings [1990] 31st Annual Symposium on Foundations of Computer Science.

[12]  Rajeev Raman,et al.  Recent results on the single-source shortest paths problem , 1997, SIGA.

[13]  Rajeev Raman,et al.  Sorting in linear time? , 1995, STOC '95.

[14]  J. Kruskal On the shortest spanning subtree of a graph and the traveling salesman problem , 1956 .

[15]  Robert E. Tarjan,et al.  A linear-time algorithm for a special case of disjoint set union , 1983, J. Comput. Syst. Sci..

[16]  Peter van Emde Boas,et al.  Preserving Order in a Forest in Less Than Logarithmic Time and Linear Space , 1977, Inf. Process. Lett..

[17]  Robert E. Tarjan,et al.  Efficiency of a Good But Not Linear Set Union Algorithm , 1972, JACM.

[18]  Susanne Albers,et al.  Improved parallel integer sorting without concurrent writing , 1992, SODA '92.

[19]  Robert E. Tarjan,et al.  A Linear-Time Algorithm for a Special Case of Disjoint Set Union , 1985, J. Comput. Syst. Sci..

[20]  Robert E. Tarjan,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1984, JACM.

[21]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.