# A Sidetrack-Based Algorithm for Finding the k Shortest Simple Paths in a Directed Graph

arXiv: https://arxiv.org/abs/1601.02867 · HTML: https://mlsanity.com/paper/1601.02867/

## Key facts

- Cited by 1 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 12 Jan 2016.

## Built on by (most cited first, 1 of 1)

- [On Computing Top-k Simple Shortest Paths from a Single Source](https://mlsanity.com/paper/2509.26094/) (2025)

## Abstract (arXiv)

We present an algorithm for the k shortest simple path problem on weighted directed graphs (kSSP) that is based on Eppstein's algorithm for a similar problem in which paths are allowed to contain cycles. In contrast to most other algorithms for kSSP, ours is not based on Yen's algorithm and does not solve replacement path problems. Its worst-case running time is on par with state-of-the-art algorithms for kSSP. Using our algorithm, one may find O(m) simple paths with a single shortest path tree computation and O(n + m) additional time per path in well-behaved cases, where n is the number of nodes and m is the number of edges. Our computational results show that on random graphs and large road networks, these well-behaved cases are quite common and our algorithm is faster than existing algorithms by an order of magnitude. Further, the running time is far better predictable due to very small dispersion.
