Abstract
Performing a depth-first search of a graph is one of the fundamental approaches for solving a variety of graph algorithms. Implementing depth- first search efficiently in a pure functional language has only become possible with the advent of imperative functional programming. In this paper we mix the techniques of pure functional programming in the same cauldron as depth-first search to yield a more lucid approach to viewing a variety of graph algorithms. This claim will be illustrated with several examples.
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
Thomas H. Corman, Charles E. Leiserson, and Ronald L. Rivest. Introduction to Algorithms. The MIT Press, Cambridge, Massachusetts, 1990.
Rachel Harrison. Abstract data types in Standard ML. John Wiley and Sons, 1993.
Ian Holyer. Functional programming with Miranda. Pitman, London, 1991.
John E. Hopcroft and Robert E. Tarjan. Algorithm 447: Efficient algorithms for graph manipulation. Communications of the ACM, 16(6):372–378, June 1973.
Paul Hudak, Simon L. Peyton Jones, Philip Wadler, Arvind, Brian Boutel, Jon Fairbairn, Joseph Fasel, MarÃa M. Guzmán, Kevin Hammond, John Hughes, Thomas Johnsson, Richard Kieburtz, Rishiyur S. Nikhil, Will Partain, and John Peterson. Report on the functional programming language Haskell, Version 1.2. ACM SIGPLAN Notices, 27(5), May 1992.
John Launchbury. Lazy imperative programming. In Workshop on State in Programming Languages, ACM SIGPLAN, pages 46–56, Copenhagen, Denmark, June 1993.
L. C. Paulson. ML for the working programmer. Cambridge University Press, Cambridge, 1991.
Simon L. Peyton Jones and Philip Wadler. Imperative functional programming. In 20’th Symposium on Principles of Programming Languages, ACM, Charleston, North Carolina, January 1993.
M. Sharir. A strong-connectivity algorithm and its applications in data flow analysis. Computers and mathematics with applications, 7(1), 1981.
Robert E. Tarjan. Depth-first search and linear graph algorithms. SIAM Journal of Computing, 1(2): 146–160, June 1972.
Philip Wadler. The essence of functional programming (invited talk). In 19’th Symposium on Principles of Programming Languages, ACM, Santa Fe, New Mexico, January 1992.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1994 British Computer Society
About this chapter
Cite this chapter
King, D.J., Launchbury, J. (1994). Functional Graph Algorithms with Depth-First Search (Preliminary Summary). In: O’Donnell, J.T., Hammond, K. (eds) Functional Programming, Glasgow 1993. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3236-3_12
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3236-3_12
Publisher Name: Springer, London
Print ISBN: 978-3-540-19879-6
Online ISBN: 978-1-4471-3236-3
eBook Packages: Springer Book Archive