Skip to content
Open global navigation

Cambridge University Press

AcademicLocation selectorSearch toggleMain navigation toggle
Cart
Register Sign in Wishlist

Pearls of Functional Algorithm Design

$68.00

  • Date Published: November 2010
  • availability: In stock
  • format: Hardback
  • isbn: 9780521513388

$68.00
Hardback

Add to cart Add to wishlist

Other available formats:
eBook


Looking for an examination copy?

This title is not currently available for examination. However, if you are interested in the title for your course we can consider offering an examination copy. To register your interest please contact collegesales@cambridge.org providing details of the course you are teaching.

Description
Product filter button
Description
Contents
Resources
About the Authors
  • Richard Bird takes a radically new approach to algorithm design, namely, design by calculation. These 30 short chapters each deal with a particular programming problem drawn from sources as diverse as games and puzzles, intriguing combinatorial tasks, and more familiar areas such as data compression and string matching. Each pearl starts with the statement of the problem expressed using the functional programming language Haskell, a powerful yet succinct language for capturing algorithmic ideas clearly and simply. The novel aspect of the book is that each solution is calculated from an initial formulation of the problem in Haskell by appealing to the laws of functional programming. Pearls of Functional Algorithm Design will appeal to the aspiring functional programmer, students and teachers interested in the principles of algorithm design, and anyone seeking to master the techniques of reasoning about programs in an equational style.

    • Demonstrates how results in algorithm design can be calculated using well-established mathematical principles, theorems and laws
    • Contains brand new pearls
    • Includes a brief index to guide the reader
    Read more

    Reviews & endorsements

    "Though the writing is crisp, and the explanations lucid, this is not an easy book to read. The difficulty lies in the density of ideas presented. The rewards of persevering are definitely worth it, though. In fact, once immersed, I started to ponder where this material would lead to: which algorithms could be even further generalized, what would many of these algorithms look like if implemented in Coq or Agda, and so forth. This is the effect that all good books have on me: well-presented and well-motivated material strives to become a stepping stone to further discovery. Any serious computer scientist would benefit from reading and properly understanding this book.
    Jacques Carette, Computing Reviews

    Customer reviews

    Not yet reviewed

    Be the first to review

    Review was not posted due to profanity

    ×

    , create a review

    (If you're not , sign out)

    Please enter the right captcha value
    Please enter a star rating.
    Your review must be a minimum of 12 words.

    How do you rate this item?

    ×

    Product details

    • Date Published: November 2010
    • format: Hardback
    • isbn: 9780521513388
    • length: 286 pages
    • dimensions: 253 x 179 x 19 mm
    • weight: 0.74kg
    • contains: 20 b/w illus.
    • availability: In stock
  • Table of Contents

    Preface
    1. The smallest free number
    2. A surpassing problem
    3. Improving on saddleback search
    4. A selection problem
    5. Sorting pairwise sums
    6. Making a century
    7. Building a tree with minimum height
    8. Unravelling greedy algorithms
    9. Finding celebrities
    10. Removing duplicates
    11. Not the maximum segment sum
    12. Ranking suffixes
    13. The Burrows–Wheeler transform
    14. The last tail
    15. All the common prefixes
    16. The Boyer–Moore algorithm
    17. The Knuth–Morris–Pratt algorithm
    18. Planning solves the rush hour problem
    19. A simple Sudoku solver
    20. The countdown problem
    21. Hylomorphisms and nexuses
    22. Three ways of computing determinants
    23. Inside the convex hull
    24. Rational arithmetic coding
    25. Integer arithmetic coding
    26. The Schorr–Waite algorithm
    27. Orderly insertion
    28. Loopless functional algorithms
    29. The Johnson–Trotter algorithm
    30. Spider spinning for dummies
    Index.

  • Author

    Richard Bird, University of Oxford
    fm.author_biographical_note1

Sign In

Please sign in to access your account

Cancel

Not already registered? Create an account now. ×

You are now leaving the Cambridge University Press website, your eBook purchase and download will be completed by our partner www.ebooks.com. Please see the permission section of the www.ebooks.com catalogue page for details of the print & copy limits on our eBooks.

Continue ×

Continue ×

Find content that relates to you

© Cambridge University Press 2014

Back to top

Are you sure you want to delete your account?

This cannot be undone.

Cancel Delete

Thank you for your feedback which will help us improve our service.

If you requested a response, we will make sure to get back to you shortly.

×
Please fill in the required fields in your feedback submission.
×