## Faster Algorithms for the Shortest Path Problem (1990)

### Cached

### Download Links

- [jorlin.scripts.mit.edu]
- [scidok.sulb.uni-saarland.de]
- [www.cs.umd.edu]
- [www.sm.luth.se]
- DBLP

### Other Repositories/Bibliography

Venue: | J. ASSOC. COMPUT. MACH |

Citations: | 106 - 10 self |

### BibTeX

@ARTICLE{Ahuja90fasteralgorithms,

author = {Ravindra K. Ahuja and Kurt Mehlhorn and James B. Orlin and Robert E. Tarjan},

title = {Faster Algorithms for the Shortest Path Problem},

journal = {J. ASSOC. COMPUT. MACH},

year = {1990},

volume = {37},

number = {2},

pages = {213--223}

}

### Years of Citing Articles

### OpenURL

### Abstract

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

### Citations

2499 |
The Desim and Analysis of Computer Algorithms
- Aho, Hopcroft, et al.
- 1974
(Show Context)
Citation Context ...s (counting one to insert s initially), n delete rnin operations, and at most m - n + 1 decrease operations. Dijkstra’s original implementation uses an array to represent the heap, giving a bound of O=-=(1)-=- time per insert or decrease and O(n) time per delete min, or O(n2) time overall. A more modern heap implementation, the Fibonacci heap [S], needs 0( 1) time per insert or decrease and only O(log n) p... |

1543 | A note on two problems in connexion with graphs. Numerische Mathematik
- Dijkstra
- 1959
(Show Context)
Citation Context ...m S; if this is not the case, unreachable vertices can be deleted from G in a linear-time preprocessing step. The theoretically most efficient known algorithm for this problem is Dijkstra’s algorithm =-=[6]-=-. Our description of his algorithm is based on that in Tarjan’s monograph [ 131. The algorithm maintains a tentative cost d(v) for each vertex v, such that some path from s to v has total cost d(v). A... |

694 |
Universal Classes of Hash Functions
- Carter, Wegman
- 1979
(Show Context)
Citation Context ...n, or O(m log log C) time in total. The space needed for the heap is O(n + C), but this can be reduced to O(n + C’) for any positive constant t using tries [ 151, or even to O(n) if universal hashing =-=[2]-=- or dynamic perfect hashing [5] is used. (Use of hashing makes the algorithm randomized instead of deterministic and the time bound expected instead of the worst case.) The existence of an O(m + n log... |

614 | Data Structures and Network Algorithms - Tarjan - 1983 |

587 |
Tarjan, “Fibonacci heaps and their uses in improved network optimization algorithms,” JACM
- Fredman, E
- 1987
(Show Context)
Citation Context ...ments. The total time for all the latter bookkeeping is O(m + Bn). Fibonacci heaps (abbreviated F-heaps) support delete min in O(log n) amortized time3 and insert and decrease in 0( 1) amortized time =-=[8]-=-, where n is the maximum heap size. But in our application, the number of possible index values is much smaller than the number of vertices. We shall describe how to extend Fibonacci heaps so that if ... |

201 | Design and implementation of an efficient priority queue, Math. Systems Theory 10 - Boas, Kaas, et al. - 1977 |

161 |
Efficient Algorithms for Shortest Paths in Sparse Networks
- Johnson
- 1977
(Show Context)
Citation Context ...taining a bound for integer costs of the form O(m f nf(C)) for some function f of the number sizes, with f growing as slowly as possible. An algorithm independently discovered by Dial [4] and Johnson =-=[9]-=- runs in O(m + nC) time. Based on the existence of the Van Emde Boas-KaasZijlstra data structure, one might hope for a bound of O(m + n log log C). Obtaining such a bound is an open problem. We shall ... |

147 | Data Structures and Algorithms 1: Sorting and Searching - Mehlhorn - 1984 |

141 | Amortized computational complexity - Tarjan - 1985 |

129 | Dynamic perfect hashing: Upper and lower bounds,” in
- Dietzfelbinger, Karlin, et al.
- 1990
(Show Context)
Citation Context ...tal. The space needed for the heap is O(n + C), but this can be reduced to O(n + C’) for any positive constant t using tries [ 151, or even to O(n) if universal hashing [2] or dynamic perfect hashing =-=[5]-=- is used. (Use of hashing makes the algorithm randomized instead of deterministic and the time bound expected instead of the worst case.) The existence of an O(m + n log n) bound for arbitrary real-va... |

88 |
Algorithm 360: Shortest Path Forest with Topological Ordering
- Dial
- 1969
(Show Context)
Citation Context ...he problem of obtaining a bound for integer costs of the form O(m f nf(C)) for some function f of the number sizes, with f growing as slowly as possible. An algorithm independently discovered by Dial =-=[4]-=- and Johnson [9] runs in O(m + nC) time. Based on the existence of the Van Emde Boas-KaasZijlstra data structure, one might hope for a bound of O(m + n log log C). Obtaining such a bound is an open pr... |

88 | Preserving order in a forest in less than logarithmic time - Boas, P - 1990 |

56 | Storing a sparse table - Tarjan, Yao - 1979 |

21 |
Shortest route methods: 1. Reaching pruning and buckets
- Denardo, Fox
- 1979
(Show Context)
Citation Context ...time to O(m + n log C). Section 2 describes this result. By adding another level to the structure, we obtain a two-level radix heap. The idea of adding a second level is borrowed from Denardo and Fox =-=[3]-=-. The new structure reduces the running time of Dijkstra’s algorithm to O(m + y1 log C/log log C). Section 3 presents this result. One more change to the structure, the addition of Fibonacci heaps in ... |

14 | Shortest--Route Methods: 1 - Denardo, Fox - 1979 |

13 | A balanced tree scheme for meldable heaps with updates - Peterson - 1987 |

5 | Tarian, "Amortized computational complexity - E - 1985 |

3 | Role playing methods - Chester, Fox - 1966 |

1 |
Relaxed heaps: An alternative to Fibonacci heaps
- DRISCOLL, GABOW, et al.
- 1988
(Show Context)
Citation Context ...tation, the Fibonacci heap [S], needs 0( 1) time per insert or decrease and only O(log n) per delete min, for an overall time bound of O(m + n log n). The same bound is attainable using relaxed heaps =-=[7]-=- or Vheaps [ 121. A time of O(m + n log n) is best possible for Dijkstra’s algorithm, if the arc costs are real numbers and only binary comparisons are used in the heap implementation. This is because... |

1 | Efficient special-purpose priority queues - JOHNSON - 1977 |

1 | Data Strulctures and Algorithms I: Sorting and Searching - MEHLHORN - 1984 |

1 | The D<sign and Analysis o/Compurer Algorithms - Hopcroft - 1974 |

1 | Algorithm 360: shonest path forest with topological ordering - Dial - 1969 |

1 | Taljan, "Relaxed heaps: an alternative to Fibonacci heaps," Teclmical Repon CS-TR-I09-87 - DriscoD, Gabow, et al. - 1987 |

1 | Efficieru special-purpose priority queues," Proc. /5" Annual AlltrlOn Con - Johnson - 1977 |

1 | A balanced tree scheme for meldable heaps with updates - Petenon - 1987 |

1 | Storing a sparse table - Tarian, C - 1979 |

1 | Data Structures and Network Algorithms - Tarian - 1983 |