From the Back Cover
The design of algorithms for problem-solving lies at the heart of computer science. Concise yet authoritative, Algorithms: A Functional Programming Approach teaches the skills needed to master this essential subject.
The authors challenge more traditional methods of teaching algorithms by using a functional programming context, with Haskell as the implementation language. This leads to smaller, clearer and more elegant programs which enable the programmer to understand the algorithm itself more quickly and to use that understanding to explore alternative solutions. Placing the emphasis on program development rather than the mathematical properties of algorithms, the book uses a succession of practical programming examples to develop in the reader problem-solving skills which can be easily transferred to other language paradigms.Key features of this innovative text include:
- Unmatched collection of functional programming algorithms
- A wealth of practical examples, bringing the algorithms into clear focus
- End of chapter exercises throughout
- Source code and selected solutions freely available online
- Comprehensive index and bibliographical notes
- Appendices on Haskell implementations and mathematical background
For computer science students taking algorithms and/or functional programming courses, Algorithms: A Functional Programming Approach represents the ideal textbook. It is also an invaluable reference source of functional programs for practitioners.
About the Author
Fethi Rabhi completed his PhD in 1990 at Sheffield University (UK). After a short stay at Allegheny College (USA) as a visiting professor, he is now a lecturer in Computer Science at the University of Hull (UK). His teaching and research interests include all aspects of parallel processing and functional languages.
Guy Lapalme is a professor of Computer Science at the University of Montreal in Canada. He has been interested in functional languages for many years, especially their implementation and use in other areas such as natural language semantics and bioinformatics.