Faster algorithms for the shortest path problem

  title={Faster algorithms for the shortest path problem},
  author={Ravindra K. Ahuja and Kurt Mehlhorn and James B. Orlin and Robert E. Tarjan},
  journal={J. ACM},
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… 
Finding minimum-cost circulations by canceling negative cycles
It is shown that a judicious choice of cycles for canceling leads to a polynomial bound on the number of iterations in this algorithm, which is comparable to those of the fastest previously known algorithms.
I/O-efficient shortest path algorithms for undirected graphs with random or bounded edge lengths
I/O-efficient single-source shortest path algorithms for undirected graphs with expected I/O complexity O(&sqrt;(<i>nm</i> log <i>B</i>) + MST(n, m) for uniformly random edge lengths.
Computing shortest paths with comparisons and additions
An undirected all-pairs shortest paths (APSP) algorithm which runs on a pointer machine in time in time while making comparisons and additions, where m and n are the number of edges and vertices, respectively, and α(<i>m, n</i) is Tarjan's inverse-Ackermann function.
Shortest Path Algorithms Technique for Nearly Acyclic Graphs
Several new shortest path algorithms that define trigger vertices are presented, from which efficient computation of shortest paths through underlying acyclic structures in the graph is possible and the all-pairs shortest path problem can be solved in O(mn) worst-case time.
Improved Shortest Path Algorithms for Nearly Acyclic Graphs
All-pairs shortest paths for unweighted undirected graphs in o(mn) time
These represent the best time bounds known for the all-pairs-shortest-paths problem for an unweighted undirected graph with vertices and edges for all <i>m</i>≪ <i*n</i><sup>1.376</sup>.
A Novel Linear Algorithm for Shortest Paths in Networks
The proposed algorithm is efficient for all classes of networks and extremely efficient for networks with small C, and the decision which classes of Networks are most suitable for the proposed approach can be made based on simple parameters.
Efficiently Listing Bounded Length st-Paths
This work considers a different parameterization for this problem: instead of bounding the number of st-paths output, the authors bound their length, and proposes new non-trivial algorithms matching the time complexity of the classic algorithms but using only \(O(m+n)\) space.
Removing Sequential Bottleneck of Dijkstra's Algorithm for the Shortest Path Problem
A method which maintains lower bounds as well as upper bounds for reaching a vertex is introduced which enables one to find the optimal cost for multiple vertices in one iteration and thereby reduces the sequential bottleneck in Dijkstra's algorithm.


Fibonacci Heaps and Their Uses in Improved Network Optimization Algorithms
Using F-heaps, a new data structure for implementing heaps that extends the binomial queues proposed by Vuillemin and studied further by Brown, the improved bound for minimum spanning trees is the most striking.
Storing a sparse table
This work proposes a good worst-case method for storing a static table of n entries, each an integer between 0 and N - 1, and analysis shows why a simpler algorithm used for compressing LR parsing tables works so well.
Efficient Algorithms for Shortest Paths in Sparse Networks
Algorithms for finding shortest paths are presented which are faster than algorithms previously known on networks which are relatively sparse in arcs, and a class of “arc set partition” algorithms is introduced.
Algorithm 360: shortest-path forest with topological ordering [H]
This method might be called a “paper strip method” for analysis of variance and is similar to paper strip methods used for operations with polynomials.
A note on two problems in connexion with graphs
  • E. Dijkstra
  • Mathematics, Computer Science
    Numerische Mathematik
  • 1959
A tree is a graph with one and only one path between every two nodes, where at least one path exists between any two nodes and the length of each branch is given.
Relaxed heaps: an alternative to Fibonacci heaps with applications to parallel computation
The relaxed heap is a priority queue data structure that achieves the same amortized time bounds as the Fibonacci heap—a sequence of m decrease_key and n delete_min operations takes time O(m + n log
Dynamic perfect hashing: upper and lower bounds
An Omega (log n) lower bound is proved for the amortized worst-case time complexity of any deterministic algorithm in a class of algorithms encompassing realistic hashing-based schemes.
The Design and Analysis of Computer Algorithms
This text introduces the basic data structures and programming techniques often used in efficient algorithms, and covers use of lists, push-down stacks, queues, trees, and graphs.
Universal Classes of Hash Functions