Abstract
The Single Source Shortest Paths problem with positive edge weights (SSSPP) is one of the more widely studied problems in Operations Research and Theoretical Computer Science [1,2] on account of its wide applicability to practical situations. This problem was first solved in polynomial time by Dijkstra [3], who showed that by extracting vertices with the smallest distance from the source and relaxing its outgoing edges, the shortest path to each vertex is obtained. Variations of this general theme have led to a number of algorithms, which work well in practice [4,5,6]. At the heart of a Dijkstra implementation is the technique used to implement a priority queue. It is well known that using Dijkstra’s approach requires Ω(nlogn) steps on a graph having n vertices, since it essentially sorts vertices based on their distances from the source. Accordingly, the fastest implementation of Dijkstra’s algorithm on a graph with n vertices and m edges should take Ω(m + n·logn) time and consequently the Dijkstra procedure for SSSPP using Fibonacci Heaps is optimal, in the comparison-based model. In this paper, we introduce a new data structure to implement priority queues called Two-Level Heap (TLH) and a new variant of Dijkstra’s algorithm called Phased Dijkstra. We contrast the performance of Dijkstra’s algorithm (both the simple and the phased variants) using a number of data structures to implement the priority queue and empirically establish that Two-Level heaps are far superior to Fibonacci heaps on every graph family considered.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms. MIT Press, Cambridge (2001)
Goldberg, A.V.: Scaling algorithms for the shortest paths problem. SIAM Journal on Computing 24(3), 494–504 (1995)
Dijkstra, E.W.: A note on two problems in connexion with graphs. Numerische Mathematik 1, 269–271 (1959)
Raman, R.: Recent results in single-source shortest paths problem. SIGACT news 28, 81–87 (1997)
Ahuja, R.K., Mehlhorn, K., Orlin, J.B., Tarjan, R.E.: Faster algorithms for the shortest path problem. Journal of the ACM 37(2), 213–223 (1990)
Pallottino, S.: Shortest path methods: Complexity, interrelations and new propositions. NETWORKS: Networks: An International Journal 14, 257–267 (1984)
Park, J., Penner, M., Prasanna, V.: Optimizing graph algorithms for improved cache performance. In: Proc. Int’l Parallel and Distributed Processing Symp. (IPDPS 2002), Fort Lauderdale, FL (April 2002)
Demetrescu, C., Goldberg, A., Johnson, D.: 9th DIMACS implementation challenge – Shortest Paths, http://www.dis.uniroma1.it/~challenge9/
Chakrabarti, D., Zhan, Y., Faloutsos, C.: R-MAT: A recursive model for graph mining. In: Proc. 4th SIAM Intl. Conf. on Data Mining, Florida, USA (April 2004)
Cherkassky, B., Goldberg, A., Radzik, T.: Shortest paths algorithms: theory and experimental evaluation. Mathematical Programming 73, 129–174 (1996)
Goldberg, A.: Network optimization library, http://www.avglab.com/andrew/soft.html
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Subramani, K., Madduri, K. (2009). Two-Level Heaps: A New Priority Queue Structure with Applications to the Single Source Shortest Path Problem. In: Du, DZ., Hu, X., Pardalos, P.M. (eds) Combinatorial Optimization and Applications. COCOA 2009. Lecture Notes in Computer Science, vol 5573. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02026-1_17
Download citation
DOI: https://doi.org/10.1007/978-3-642-02026-1_17
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-02025-4
Online ISBN: 978-3-642-02026-1
eBook Packages: Computer ScienceComputer Science (R0)