Finding the k Shortest Paths

  • Authors:
  • David Eppstein

  • Affiliations:
  • -

  • Venue:
  • SIAM Journal on Computing
  • Year:
  • 1999

Quantified Score

Hi-index 0.01

Visualization

Abstract

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, maximum inscribed polygons, and genealogical relationship discovery.