Skip to main content Accessibility help
×
  • Cited by 8
    • Show more authors
    • You may already have access via personal or institutional login
    • Select format
    • Publisher:
      Cambridge University Press
      Publication date:
      June 2020
      July 2020
      ISBN:
      9781108869041
      9781108491617
      Dimensions:
      (247 x 174 mm)
      Weight & Pages:
      0.93kg, 450 Pages
      Dimensions:
      Weight & Pages:
    You may already have access via personal or institutional login
  • Selected: Digital
    Add to cart View cart Buy from Cambridge.org

    Book description

    This book is devoted to five main principles of algorithm design: divide and conquer, greedy algorithms, thinning, dynamic programming, and exhaustive search. These principles are presented using Haskell, a purely functional language, leading to simpler explanations and shorter programs than would be obtained with imperative languages. Carefully selected examples, both new and standard, reveal the commonalities and highlight the differences between algorithms. The algorithm developments use equational reasoning where applicable, clarifying the applicability conditions and correctness arguments. Every chapter concludes with exercises (nearly 300 in total), each with complete answers, allowing the reader to consolidate their understanding and apply the techniques to a range of problems. The book serves students (both undergraduate and postgraduate), researchers, teachers, and professionals who want to know more about what goes into a good algorithm and how such algorithms can be expressed in purely functional terms.

    Reviews

    ‘I strongly suspect that Richard Bird hides a magically productive book writing apparatus in his office. This time around, Bird pulled the machine’s levers together with Jeremy Gibbons and out came Algorithm Design with Haskell, a book that is remarkable in many ways … the authors recast a number of classical problems in terms of thinning, including ones like knapsack which otherwise have been tackled via dynamic programming for ages. These fresh – very confidently and competently presented- takes on established material are true highlights of the text.’

    Torsten Grust Source: Journal of Functional Programming

    Refine List

    Actions for selected content:

    Select all | Deselect all
    • View selected items
    • Export citations
    • Download PDF (zip)
    • Save to Kindle
    • Save to Dropbox
    • Save to Google Drive

    Save Search

    You can save your searches here and later view and run them again in "My saved searches".

    Please provide a title, maximum of 40 characters.
    ×

    Contents

    Metrics

    Altmetric attention score

    Full text views

    Total number of HTML views: 0
    Total number of PDF views: 0 *
    Loading metrics...

    Book summary page views

    Total views: 0 *
    Loading metrics...

    * Views captured on Cambridge Core between #date#. This data will be updated every 24 hours.

    Usage data cannot currently be displayed.

    Accessibility standard: Unknown

    Why this information is here

    This section outlines the accessibility features of this content - including support for screen readers, full keyboard navigation and high-contrast display options. This may not be relevant for you.

    Accessibility Information

    Accessibility compliance for the PDF of this book is currently unknown and may be updated in the future.