MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Finding the k Shortest Paths (1997) [173 citations — 1 self]

Abstract:

We give algorithms for finding the k shortest paths (not required to be simple) connecting a pair of vertices in a digraph. Our algorithms output an implicit representation of these paths in a digraph with n vertices and m edges, in time O(m + n log n + k). We can also find the k shortest paths from a given source s to each vertex in the graph, in total time O(m + n log n +kn). We describe applications to dynamic programming problems including the knapsack problem, sequence alignment, maximum inscribed polygons, and genealogical relationship discovery. 1 Introduction We consider a long-studied generalization of the shortest path problem, in which not one but several short paths must be produced. The k shortest paths problem is to list the k paths connecting a given source-destination pair in the digraph with minimum total length. Our techniques also apply to the problem of listing all paths shorter than some given threshhold length. In the version of these problems studi...

Citations

524 Flows in networks – Ford, Fulkerson - 1962
503 Data Structures and Network Algorithms – Tarjan - 1974
412 Fibonacci heaps and their uses in improved network optimization algorithms – Fredman, Tarjan - 1987
213 On a routing problem – Bellman - 1958
132 Trans-dichotomous algorithms for minimum spanning trees and shortest paths – Fredman, Willard - 1994
104 Sparsification—a technique for speeding up dynamic graph algorithms – Eppstein, Galil, et al. - 1997
99 Faster shortest-path algorithms for planar graphs – Henzinger, Klein, et al. - 1997
92 Finding the k shortest loopless paths in a network – Yen
83 Faster algorithms for the shortest path problem – Ahuja, Mehlhorn, et al. - 1990
70 Ambivalent data structures for dynamic 2-edge-connectivity and k smallest spanning trees – Frederickson - 1991
68 An Appraisal of Some Shortest-Path Algorithms – Dreyfus - 1969
59 Disjoint paths in a network – Suurballe - 1974
45 A procedure for computing the k best solutions to discrete optimization problems and its application to the shortest path problem – Lawler - 1972
38 Scaling algorithms for the shortest paths problem – Goldberg - 1993
36 A priority queue in which initialization and queue operations take O(log log D) time – Johnson - 1982
28 Improved sparsification – Eppstein, Galil, et al. - 1993
28 An efficient algorithm for k shortest simple paths”, Networks 12 – Katoh, Ibaraki, et al. - 1982
24 On near-optimal alignments of biological sequences – Naor, Brutlag - 1994
20 On algorithms for finding the k shortest paths in a network”, Networks 9 – Shier - 1979
18 Finding a minimum weight K-link path in graphs with Monge property and applications – Aggarwal, Schieber, et al. - 1993
18 On finding single-source single-destination k shortest paths – Chong, Maddila, et al. - 1995
17 Algorithms for proximity problems in higher dimensions – Dickerson, Eppstein - 1996
16 Finding two disjoint paths between two pairs of vertices in a graph – Perl, Shiloach - 1978
15 A comparative study of k-shortest path algorithms – Brander, Sinclair - 1995
14 An algorithm for the ranking of shortest paths – Azevedo, Costa, et al. - 1993
14 An algorithm for ranking paths that may contain cycles – Martins - 1984
14 Algorithms for the quickest path problem and the enumeration of quickest paths – Rosen, Sun, et al. - 1991
14 Sequence alignments in the neighborhood of the optimum with general application to dynamic programming – Waterman - 1983
13 Iterative methods for determining the k shortest paths in a network”, Networks 6 – Shier - 1976
12 An optimal algorithm for selection in a min-heap – Frederickson - 1993
11 Determining all optimal and near-optimal solutions when solving shortest path problems by dynamic programming – Byers, Waterman - 1984
10 Solving k-shortest and constrained shortest path problems efficiently – Skiscim, Golden - 1989
9 Data Structures and Network Algorithms CBMS 44. Society for Industrial and applied mathematics – Tarjan - 1983
9 Another algorithm for finding the K shortest loopless network paths – Yen - 1972
8 Implementation of algorithms for K shortest loopless paths – Perko - 1986
8 Computational experience with an algorithm for finding the k shortest paths in a network – Shier - 1974
7 k-th shortest paths and applications to the probabilistic networks – Fox - 1975
6 An ecient algorithm for k shortest simple paths – Katoh, Ibaraki, et al. - 1982
6 On computing sets of shortest paths in a graph – Minieka - 1974
6 Finding a realistic detour by AI search techniques – Shibuya, Ikeda, et al. - 1995
5 Finding the K quickest Simple paths in a Network – Chen - 1994
5 Finding common ancestors and disjoint paths in DAGs – Eppstein - 1995
5 Comment on computing the k shortest paths in a graph – Lawler - 1977
4 Algorithms for the constrained quickest path problem and the enumeration of quickest paths – Chen, Hung - 1994
4 Enumerating Suboptimal Alignments of Multiple Biological Sequences Efficiently – Shibuya, Imai - 1997
3 An algorithm for finding the k quickest paths in a network – Chen - 1993
3 Unification-based glossing – Hatzivassiloglou, Knight - 1995
3 Computing k-shortest path for nuclear spent fuel highway transportation – Miaou, Chin - 1991
3 A note on an algebra for the k best routes in a network – Minieka, Shier - 1973
3 New flexible approaches for multiple sequence alignment – Shibuya, Imai - 1997