Results 1 -
2 of
2
Finding the k Shortest Paths
, 1997
"... 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 pat ..."
Abstract
-
Cited by 221 (1 self)
- Add to MetaCart
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...
A Comparative Study of k-Shortest Path Algorithms
- In Proc. of 11th UK Performance Engineering Workshop
, 1995
"... Efficient management of networks requires that the shortest route from one point (node) to another is known; this is termed the shortest path. It is often necessary to be able to determine alternative routes through the network, in case any part of the shortest path is damaged or busy. The k-shortes ..."
Abstract
-
Cited by 15 (0 self)
- Add to MetaCart
Efficient management of networks requires that the shortest route from one point (node) to another is known; this is termed the shortest path. It is often necessary to be able to determine alternative routes through the network, in case any part of the shortest path is damaged or busy. The k-shortest paths represent an ordered list of the alternative routes available. Four algorithms were selected for more detailed study from over seventy papers written on this subject since the 1950's. These four were implemented in the `C' programming language and, on the basis of the results, an assessment was made of their relative performance. 1 The Background The shortest path through a network is the least cost route from a given node to another given node, and this path will usually be the preferred route between those two nodes. When the shortest path between two nodes is not available for some reason, it is necessary to determine the second shortest path. If this too is not available, a thir...

