Abstract
Efficient implementations of priority queues can often be clumsy beasts. We express a functional implementation of binomial queues which is both elegant and efficient. We also quantify some of the differences with other functional implementations. The operations decreaseKey and delete always pose a problem without destructive update, we show how our implementation may be extended to express these.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Alfred V. Aho, John E. Hoperoft, and Jeffrey D. Ullman. Data Structures and Algorithms. Addison-Wesley, 1983.
Richard S. Bird. Using circular programs to eliminate multiple traversals of data. Acta Informatica, 21 (3): 239–250, 1984.
Mark R. Brown. Implementation and analysis of binomial queue algorithms. SIAM Journal of Computing, 7 (3): 298–319, 1978.
Edsger W. Dijkstra. A note on two problems in connexion with graphs. Numerische Mathematik, 1: 269–271, 1959.
Michael L. Fredman and Robert E. Tarjan. Fibonacci heaps and their uses in improved network optimization algorithms. Journal of the ACM, 34 (3): 596–615, July 1987.
Paul Hudak, Simon L. Peyton Jones, Philip Wadler, Arvind, Brian Boutel, Jon Fairbairn, Joseph Fasel, Maria M. Guzman, Kevin Hammond, John Hughes, Thomas Johnsson, Richard Kieburtz, Rishiyur S. Nikhil, Will Par-tain, and John Peterson. Report on the functional programming language Haskell, Version 1.2. ACM SIGPLAN Notices, 27 (5), May 1992.
Douglas W. Jones. An empirical comparison of priority-queue and event-set implementations. Communications of the ACM, 29 (4): 300–311, April 1986.
Donald E. Knuth. The Art of Computer Programming: Sorting and Searching, volume 3. Addison-Wesley, Reading, Massachusetts, 1973.
L. C. Paulson. ML for the working programmer. Cambridge University Press, Cambridge, 1991.
Chris M. P. Reade. Balanced trees with removals: an exercise in rewriting and proof. Science of Computer Programming, 18: 181–204, 1992.
Daniel D. Sleator and Robert E. Tarjan. Self-adjusting binary trees. In Proceedings of the 15th Annual ACM Symposium on Theory of Computing,pages 235–245, Boston, Massachusetts, April 1983. ACM.
Robert E. Tarjan. Data Structures and Network Algorithms. SIAM, 1983.
Jean Vuillemin. A data structure for manipulating priority queues. Communications of the ACM, 21 (4): 309–315, April 1978.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1995 Springer-Verlag London
About this paper
Cite this paper
King, D.J. (1995). Functional Binomial Queues. In: Hammond, K., Turner, D.N., Sansom, P.M. (eds) Functional Programming, Glasgow 1994. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3573-9_10
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3573-9_10
Publisher Name: Springer, London
Print ISBN: 978-3-540-19914-4
Online ISBN: 978-1-4471-3573-9
eBook Packages: Springer Book Archive