Date: 27 Jul 2001

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

* 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.