A concurrent-read exclusive-write PRAM algorithm is developed to find the k shortest paths between pairs of vertices in an edge-weighted directed graph. Repetitions of vertices along the paths are allowed. The algorithm computes an implicit representation of the k shortest paths to a given destination vertex from every vertex of a graph with n vertices and m edges in O(m+nklog2k) work and O(log3klog*k+logn(loglogk+log*n)) time, assuming that a shortest path tree rooted at the destination is pre-computed. The paths themselves can be extracted from the implicit representation. Applications to dynamic programming problems including the knapsack problem, sequence alignment, maximum inscribed polygons are described.

1.
D.
Eppstein
.
Finding the k shortest paths.
April
1999
.
2.
G. N.
Frederickson
.
An optimal algorithm for selection in a min-heap.
1993
.
3.
R.
Karp
and
V.
Ramachandran
.
Parallel algorithms for shared-memory machines
.
Amsterdam
,
1990
.
4.
R.
Cole
.
An optimally efficient selection algorithm.
January
1988
.
5.
M. S.
Waterman
.
Sequence alignments in the neighborhood of the optimum.
1983
.
This content is only available via PDF.
You do not currently have access to this content.