A lazy version of Eppstein's K shortest paths algorithm

  • Authors:
  • Víctor M. Jiménez;Andrés Marzal

  • Affiliations:
  • DLSI, Universitat Jaume I, Castellón, Spain;DLSI, Universitat Jaume I, Castellón, Spain

  • Venue:
  • WEA'03 Proceedings of the 2nd international conference on Experimental and efficient algorithms
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

We consider the problem ofen umerating, in order ofin - creasing length, the K shortest paths between a given pair ofno des 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 ofthe algorithm. Once it has been built, the K shortest paths can be obtained in order ofin creasing 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 ofthe algorithm. In this paper, we propose a modified version ofE ppstein'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.