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.
REFERENCES
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.
© 2021 Author(s).
2021
Author(s)
You do not currently have access to this content.