Algorithm Engineering

Volume 1668 of the series Lecture Notes in Computer Science pp 15-29


Computing the K Shortest Paths: A New Algorithm and an Experimental Comparison

  • Víctor M. JiménezAffiliated withDepartamento de Informática, Universitat Jaume I
  • , Andrés MarzalAffiliated withDepartamento de Informática, Universitat Jaume I

* Final gross prices may vary according to local VAT.

Get Access


A new algorithm to compute the K shortest paths (in order of increasing length) between a given pair of nodes in a digraph with n nodes and m arcs is presented. The algorithm recursively and efficiently solves a set of equations which generalize the Bellman equations for the (single) shortest path problem and allows a straightforward implementation. After the shortest path from the initial node to every other node has been computed, the algorithm finds the K shortest paths in O(m+ K n log(m/n)) time. Experimental results presented in this paper show that the algorithm outperforms in practice the algorithms by Eppstein [7],[8] and by Martins and Santos [15] for different kinds of random generated graphs.