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.