Faster algorithms for the shortest path problem

Efficient implementations of Dijkstra's shortest path algorithm are investigated. A new data structure, called the <italic>radix heap</italic>, is proposed for use in this algorithm. On a network with <italic>n</italic> vertices, <italic>m</italic> edges, and nonnegative integer arc costs bounded by <italic>C</italic>, a one-level form of radix heap gives a time bound for Dijkstra's algorithm of <italic>O</italic>(<italic>m</italic> + <italic>n</italic> log <italic>C</italic>). A two-level form of radix heap gives a bound of <italic>O</italic>(<italic>m</italic> + <italic>n</italic> log <italic>C</italic>/log log <italic>C</italic>). A combination of a radix heap and a previously known data structure called a <italic>Fibonacci heap</italic> gives a bound of <italic>O</italic>(<italic>m</italic> + <italic>n</italic>a @@@@log <italic>C</italic>). The best previously known bounds are <italic>O</italic>(<italic>m</italic> + <italic>n</italic> log <italic>n</italic>) using Fibonacci heaps alone and <italic>O</italic>(<italic>m</italic> log log <italic>C</italic>) using the priority queue structure of Van Emde Boas et al. [ 17].

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

[2]  Journal of the Association for Computing Machinery , 1961, Nature.

[3]  Robert B. Dial,et al.  Algorithm 360: shortest-path forest with topological ordering [H] , 1969, CACM.

[4]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

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

[6]  Donald B. Johnson,et al.  Efficient Algorithms for Shortest Paths in Sparse Networks , 1977, J. ACM.

[7]  E. Denardo,et al.  Shortest-Route Methods: 1. Reaching, Pruning, and Buckets , 1979, Oper. Res..

[8]  Robert E. Tarjan,et al.  Storing a sparse table , 1979, CACM.

[9]  Larry Carter,et al.  Universal Classes of Hash Functions , 1979, J. Comput. Syst. Sci..

[10]  Robert E. Tarjan,et al.  Data structures and network algorithms , 1983, CBMS-NSF regional conference series in applied mathematics.

[11]  Kurt Mehlhorn,et al.  Data structures and algorithms. Volume 1 : Sorting and searching , 1984 .

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

[13]  Kurt Mehlhorn,et al.  Data Structures and Algorithms 1: Sorting and Searching , 2011, EATCS Monographs on Theoretical Computer Science.

[14]  Kurt Mehlhorn,et al.  Data Structures and Algorithms 3: Multi-dimensional Searching and Computational Geometry , 2012, EATCS Monographs on Theoretical Computer Science.

[15]  R. Tarjan Amortized Computational Complexity , 1985 .

[16]  R. Tarjan,et al.  Relaxed Heaps: An Alternative to Fibonacci Heaps, , 1987 .

[17]  Robert E. Tarjan,et al.  Relaxed heaps: an alternative to Fibonacci heaps with applications to parallel computation , 1988, CACM.

[18]  Friedhelm Meyer auf der Heide,et al.  Dynamic perfect hashing: upper and lower bounds , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.