A Faster Algorithm for the Single Source Shortest Path Problem with Few Distinct Positive Lengths

In this paper, we propose an efficient method for implementing Dijkstra's algorithm for the Single Source Shortest Path Problem (SSSPP) in a graph whose edges have positive length, and where there are few distinct edge lengths. The SSSPP is one of the most widely studied problems in theoretical...

Full description

Bibliographic Details
Main Authors: Orlin, James B., Madduri, Kamesh, Subramani, K., Williamson, M.
Other Authors: Sloan School of Management
Format: Article
Language:en_US
Published: Elsevier 2011
Online Access:http://hdl.handle.net/1721.1/67886
https://orcid.org/0000-0002-7488-094X
Description
Summary:In this paper, we propose an efficient method for implementing Dijkstra's algorithm for the Single Source Shortest Path Problem (SSSPP) in a graph whose edges have positive length, and where there are few distinct edge lengths. The SSSPP is one of the most widely studied problems in theoretical computer science and operations research. On a graph with n vertices, m edges and K distinct edge lengths, our algorithm runs in O(m) time if nK=<2m, and O(mlognKm) time, otherwise. We tested our algorithm against some of the fastest algorithms for SSSPP on graphs with arbitrary but positive lengths. Our experiments on graphs with few edge lengths confirmed our theoretical results, as the proposed algorithm consistently dominated the other SSSPP algorithms, which did not exploit the special structure of having few distinct edge lengths.