We consider the problem of enumerating, in order of increasing length, the K shortest paths between a given pair of nodes in a weighted digraph G with n nodes and m arcs. To solve this problem, Eppstein's algorithm first computes the shortest path tree and then builds a graph D(G) representing all possible deviations from the shortest path. Building D(G) takes O(m+n log n) time in the basic version of the algorithm. Once it has been built, the K shortest paths can be obtained in order of increasing length in O(K log K) time. However, experimental results show that the time required to build D(G) is considerable, thereby reducing the practical interest of the algorithm. In this paper, we propose a modified version of Eppstein's algorithm in which only the parts of D(G) which are necessary for the selection of the K shortest paths are built. This version maintains Eppstein's worst-case running time and entails an important improvement in practical performance, according to experimental results that are also reported here. © Springer-Verlag Berlin Heidelberg 2003.
CITATION STYLE
Jiménez, V. M., & Marzal, A. (2003). A lazy version of Eppstein’s K shortest paths algorithm. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2647, 179–190. https://doi.org/10.1007/3-540-44867-5_14
Mendeley helps you to discover research relevant for your work.