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

Abstract

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.

This work has been partially supported by Spanish CICYT under contract TIC-97-0745-C02.