Skip to content
Register Sign in Wishlist

How to Think about Algorithms

2nd Edition

£99.99

  • Date Published: March 2024
  • availability: In stock
  • format: Hardback
  • isbn: 9781009302142

£ 99.99
Hardback

Add to cart Add to wishlist

Other available formats:
Paperback, eBook


Looking for an inspection copy?

This title is not currently available on inspection

Description
Product filter button
Description
Contents
Resources
Courses
About the Authors
  • Understand algorithms and their design with this revised student-friendly textbook. Unlike other algorithms books, this one is approachable, the methods it explains are straightforward, and the insights it provides are numerous and valuable. Without grinding through lots of formal proof, students will benefit from step-by-step methods for developing algorithms, expert guidance on common pitfalls, and an appreciation of the bigger picture. Revised and updated, this second edition includes a new chapter on machine learning algorithms, and concise key concept summaries at the end of each part for quick reference. Also new to this edition are more than 150 new exercises: selected solutions are included to let students check their progress, while a full solutions manual is available online for instructors. No other text explains complex topics such as loop invariants as clearly, helping students to think abstractly and preparing them for creating their own innovative ways to solve problems.

    • Includes numerous new exercises, with selected solutions in the text and a full solutions manual for instructors available online
    • Presents step-by-step methods for developing algorithms and guides students through common pitfalls, giving students the support they need to design their own algorithms
    • Exceptionally clear and approachable and can be used to supplement other, more difficult textbooks
    Read more

    Reviews & endorsements

    'Jeff Edmonds' How to Think about Algorithms offers a fresh perspective, placing methodical but intuitive design principles (pre- and post-conditions, invariants, 'transparent' correctness) as the bedrock on which to build and practice algorithmic thinking. The book reads like an epic guided meditation on the vast universe of algorithms, directing the reader's attention to the core of each insight, while stimulating the mind through well-paced examples, playful but concise analogies, and thought-provoking exercises.' Nathan Chenette, Rose-Hulman Institute of Technology

    'With a good book like this in your hands, learning about algorithms and getting programs to work well will be fun and empowering. Anybody who wants to be a good programmer will get a great deal from this surprisingly readable book. Its approach makes it perfect for reading on your own if you want to enjoy learning about algorithms without being distracted by heavy maths. It has lots of exercises that are worth doing. Most importantly, How to Think about Algorithms does just that: it shows you how to think about algorithms and become a better programmer. Knowing how to think about algorithms gives you the insights and skills to make computers do anything more reliably and faster. The book is also ideal for any taught university course, because it is self-contained and systematically sets out the essential material, but most importantly because it empowers students to think for themselves.' Harold Thimbleby, Swansea University

    See more 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

    • Edition: 2nd Edition
    • Date Published: March 2024
    • format: Hardback
    • isbn: 9781009302142
    • length: 464 pages
    • dimensions: 251 x 176 x 32 mm
    • weight: 1.32kg
    • availability: In stock
  • Table of Contents

    Preface
    Introduction
    Part I. Iterative Algorithms and Loop Invariants:
    1. Iterative algorithms: measures of progress and loop invariants
    2. Examples using more-of-the-input loop invariant
    3. Abstract data types
    4. Narrowing the search space: binary search
    5. Iterative sorting algorithms
    6. Euclid's GCD algorithm
    7. The loop invariant for lower bounds
    8. Key concepts summary: loop invariants and iterative algorithms
    9. Additional exercises: Part I
    10. Partial solutions to additional exercises: Part I
    Part II. Recursion:
    11. Abstractions, techniques, and theory
    12. Some simple examples of recursive algorithms
    13. Recursion on trees
    14. Recursive images
    15. Parsing with context-free grammars
    16. Key concepts summary: recursion
    17. Additional exercises: Part II
    18. Partial solutions to additional exercises: Part II
    Part III. Optimization Problems:
    19. Definition of optimization problems
    20. Graph search algorithms
    21. Network flows and linear programming
    22. Greedy algorithms
    23. Recursive backtracking
    24. Dynamic programming algorithms
    25. Examples of dynamic programming
    26. Reductions and NP-completeness
    27. Randomized algorithms
    28. Key concepts summary: greedy algorithms and dynamic programmings
    29. Additional exercises: Part III
    30. Partial solutions to additional exercises: Part III
    Part IV. Additional Topics:
    31. Existential and universal quantifiers
    32. Time complexity
    33. Logarithms and exponentials
    34. Asymptotic growth
    35. Adding-made-easy approximations
    36. Recurrence relations
    37. A formal proof of correctness
    38. Additional exercises: Part IV
    39. Partial solutions to additional exercises: Part IV
    Exercise Solutions
    Conclusion
    Index.

  • Author

    Jeff Edmonds, York University, Toronto
    Jeff Edmonds is Professor in the Department of Electrical Engineering and Computer Science at York University, Canada.

Related Books

Sorry, this resource is locked

Please register or sign in to request access. If you are having problems accessing these resources please email [email protected]

Register Sign in
Please note that this file is password protected. You will be asked to input your password on the next screen.

» Proceed

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 ×

Continue ×
warning icon

Turn stock notifications on?

You must be signed in to your Cambridge account to turn product stock notifications on or off.

Sign in Create a Cambridge account arrow icon
×

Find content that relates to you

Join us online

This site uses cookies to improve your experience. Read more Close

Are you sure you want to delete your account?

This cannot be undone.

Cancel

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.
×