{"id":"arxiv:1905.01325","kind":"preprint","title":"Breaking the Bellman-Ford Shortest-Path Bound","authors":["Amr Elmasry"],"author_count":1,"year":2019,"published":"2019-05-03","venue":null,"cited_by":null,"doi":null,"arxiv_id":"1905.01325","nct_id":null,"source_url":"https://arxiv.org/abs/1905.01325","archive_url":"https://space-kitty.com/papers/arxiv:1905.01325","updated":"2019-06-17","pmid":null,"pmcid":null,"openalex_id":null,"pdf_url":"https://arxiv.org/pdf/1905.01325","abstract":"In this paper we give a single-source shortest-path algorithm that breaks, after over 60 years, the $O(n \\cdot m)$ time bound for the Bellman-Ford algorithm, where $n$ is the number of vertices and $m$ is the number of arcs of the graph. Our algorithm converts the input graph to a graph with nonnegative weights by performing at most $\\min(\\sqrt{n},\\sqrt{m/\\log n})$ calls to Dijkstra's algorithm, such that the shortest-path tree is the same for the new graph as that for the original. When Dijkstra's algorithm is implemented using Fibonacci heaps, the running time of our algorithm is therefore $O(\\sqrt{n} \\cdot m + n \\cdot \\sqrt{m \\log n})$. We also give a second implementation that performs few calls to Dijkstra's algorithm if the graph contains few negative arcs on the shortest-path tree.","abstract_license":"CC0-1.0 (arXiv descriptive metadata)","license":null,"is_open_access":false,"retracted":false,"peer_reviewed":false,"categories":["cs.DS"],"details":null,"provenance":"arxiv","attribution":"Abstract: arXiv descriptive metadata (CC0). Thank you to arXiv for use of its open access interoperability. This service was not reviewed or approved by, nor does it necessarily express or reflect the policies or opinions of, arXiv.","topics":[],"cited_in_dossiers":[]}