×

An improved Dijkstra’s shortest path algorithm for sparse network. (English) Zbl 1117.65096

Summary: On a network with nonnegative-length edges, E. W. Dijkstra’s shortest path algorithm [Numer. Math. 1, 269–271 (1959; Zbl 0092.16002)] computes single-source shortest path in O\((m + n \log n)\) time. The time bound assumes that a Fibonacci heap is used during the implementation of Dijkstra’s algorithm. As the process of building heaps needs a little complex work, it makes the algorithm not easy to be used.
In this paper, we make some very simple, but useful, changes in the original Dijkstra algorithm and obtain a new improved Dijkstra’s shortest path algorithm that avoids the process of building heap and runs in O\((m + D_{\max} \log(n!))\) time. Here \(m, n\) and \(D_{\max}\) are the number of edges, vertices and the maximal number of edges incident with vertex, respectively. Thus, the new algorithm is very competitive for those sparse networks especially in road traffic networks in which \(D_{\max}\) is often a small number.

MSC:

65K05 Numerical mathematical programming methods
90B10 Deterministic network models in operations research
90C35 Programming involving graphs or networks

Citations:

Zbl 0092.16002

Software:

Algorithm 360
Full Text: DOI

References:

[1] R.K. Ahuja, K. Mehlhorn, J.B. Orlin, R.E. Tarjan, Faster algorithms for the shortest path problem, Technical Report CS-TR-154-88, Department of Computer Science, Princeton University, 1988.; R.K. Ahuja, K. Mehlhorn, J.B. Orlin, R.E. Tarjan, Faster algorithms for the shortest path problem, Technical Report CS-TR-154-88, Department of Computer Science, Princeton University, 1988. · Zbl 0696.68046
[2] A. Andersson, T. Hagerup, S. Nilsson, R. Raman, Sorting in linear time? in: Proceedings of 27th ACM Symposium on Theory of Computing, 1995, pp. 427-436.; A. Andersson, T. Hagerup, S. Nilsson, R. Raman, Sorting in linear time? in: Proceedings of 27th ACM Symposium on Theory of Computing, 1995, pp. 427-436. · Zbl 0968.68509
[3] Asano, Y.; Imai, H., Practical efficiency of the linear-time algorithm for the single source shortest path problem, J. Oper. Res. Soc. Jpn., 43, 431-447 (2000) · Zbl 0998.90080
[4] Bellman, R. E., On a pouting problem, Quart. Appl. Math, 16, 87-90 (1958) · Zbl 0081.14403
[5] Dial, R. B., Algorithm 360: shortest path forest with topological ordering, Commun. ACM, 12, 632-633 (1969)
[6] Dijkstra, E. W., A note on two problems in connection with graphs, Numer. Math., 1, 269-271 (1959) · Zbl 0092.16002
[7] Ford, L. R.; Fulkerson, D. R., Flows in Networks (1962), Princeton University Press: Princeton University Press Princeton, NJ · Zbl 0139.13701
[8] Fredman, M. L.; Tarjan, R. E., Fibonacci heaps and their uses in improved network optimization algorithm, J. ACM, 34, 3, 596-615 (1987) · Zbl 1412.68048
[9] Gabow, H. N.; Tarjan, R. E., Faster scaling algorithms for network problems, SIAM J. Comput., 1013-1036 (1989) · Zbl 0679.68079
[10] Gallo, G.; Pallottino, S., Shortest paths algorithm, Ann. Oper. Res., 13, 3-79 (1988)
[11] A.V. Goldberg, Scaling algorithms for the shortest paths problem, in: Proceedings of the 4th ACM-SIAM Symposium on Discrete Algorithms, 1993, pp. 222-231.; A.V. Goldberg, Scaling algorithms for the shortest paths problem, in: Proceedings of the 4th ACM-SIAM Symposium on Discrete Algorithms, 1993, pp. 222-231. · Zbl 0801.68132
[12] Han, Y., Improved algorithm for all pairs shortest paths, Inform. Process. Lett., 91, 245-250 (2004) · Zbl 1178.68658
[13] Haldar, S., An ‘all pairs shortest paths’ distributed algorithm using \(2n^2\) messages, J. Algorithms, 24, 20-36 (1997) · Zbl 0879.68008
[14] Saunders, S.; Takaoka, T., Improved shortest path algorithms for nearly acyclic graphs, Electron. Notes Theor. Comput. Sci., 42, 1-17 (2001) · Zbl 0970.68120
[15] Xu, M. H.; Lam, William H. K.; Shao, H.; Luan, G. F., A heuristic algorithm for network equilibration, Appl. Math. Comput., 174, 430-446 (2006) · Zbl 1092.90068
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.