# Finding the k shortest paths

```@article{Eppstein1994FindingTK,
title={Finding the k shortest paths},
author={David Eppstein},
journal={Proceedings 35th Annual Symposium on Foundations of Computer Science},
year={1994},
pages={154-165}
}```
• D. Eppstein
• Published 1994
• Mathematics, Computer Science
• Proceedings 35th Annual Symposium on Foundations of Computer Science
We give algorithms for finding the k shortest paths (not required to be simple) connecting a pair of vertices in a digraph. Our algorithms output an implicit representation of these paths in a digraph with n vertices and m edges, in time O(m+n log n+k). We can also find the k shortest paths from a given source s to each vertex in the graph, in total time O(m+n log n+kn). We describe applications to dynamic programming problems including the knapsack problem, sequence alignment, and maximum… Expand
721 Citations
A NEW O(m+ kn log d) ALGORITHM TO FIND THE k SHORTEST PATHS IN ACYCLIC DIGRAPHS
We give an algorithm, called T∗, for finding the k shortest simple paths connecting a certain pair of nodes, s and t, in a acyclic digraph. First the nodes of the graph are labeled according to theExpand
Improved algorithms for the k simple shortest paths and the replacement paths problems
• Mathematics, Computer Science
• Inf. Process. Lett.
• 2009
It is proved that both the replacement paths and the k simple shortest paths (for constant k) problems are not harder than APSP (All Pairs Shortest Paths) in weighted directed graphs. Expand
Finding next-to-shortest paths in a graph
• Mathematics, Computer Science
• Inf. Process. Lett.
• 2004
This work proves the somewhat surprising result that there is a polynomial time algorithm for the undirected version of the problem of finding the next-to-shortest paths in a graph. Expand
The next-to-shortest path problem on directed graphs with positive edge weights
• Mathematics, Computer Science
• Networks
• 2015
This article considers the version where G is directed and all edge weights are positive, and if G is planar, an On3-time algorithm is proposed, where n is the number of vertices of G. Expand
Parallel Algorithms for the K Shortest Paths and Related Problems Parallel Algorithms for the K Shortest Paths and Related Problems
A parallel algorithm is developed to nd the k shortest paths between pairs of vertices in an edge-weighted directed graph. The concurrent-read exclusive-write PRAM is used as the model ofExpand
A new improvement for a K shortest paths algorithm
• Computer Science
• 2001
An improvement for a known deletion path algorithm is presented which results in the improvement of its execution time complexity when the worst case analysis is considered. Expand
Multiple Source Replacement Path Problem
• Computer Science, Mathematics
• PODC
• 2020
For an undirected and unweighted graph, (Malik, Mittal, and Gupta, Operation Research Letters, 1989) and (Hershberger and Suri, FOCS 2001) designed an algorithm that solves the replacement path problem in Õ (m + n) time1. Expand
A nonenumerative algorithm to find the k longest (shortest) paths in a DAG
• F. Kocan
• Computer Science, Mathematics
• ArXiv
• 2013
A novel and efficient algorithm to find the k longest (shortest) paths between sources and sinks in a directed acyclic graph (DAG) based on the Valued-Sum-of-Product (VSOP) tool, which is an extension of Zero-suppressed Binary Decision Diagrams (ZBDDs). Expand
K⁎: A heuristic search algorithm for finding the k shortest paths
• Mathematics, Computer Science
• Artif. Intell.
• 2011
We present a directed search algorithm, called K^@?, for finding the k shortest paths between a designated pair of vertices in a given directed weighted graph. K^@? has two advantages compared toExpand
Efficiently Listing Bounded Length st-Paths
• Mathematics, Computer Science
• IWOCA
• 2014
This work considers a different parameterization for this problem: instead of bounding the number of st-paths output, the authors bound their length, and proposes new non-trivial algorithms matching the time complexity of the classic algorithms but using only \(O(m+n)\) space. Expand