Skip to content
Register Sign in Wishlist

How to Think About Algorithms

£95.99

  • Date Published: June 2008
  • availability: Temporarily unavailable - available from TBC
  • format: Hardback
  • isbn: 9780521849319

£ 95.99
Hardback

Temporarily unavailable - available from TBC
Notify me when available 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
  • This textbook, for second- or third-year students of computer science, presents insights, notations, and analogies to help them describe and think about algorithms like an expert, without grinding through lots of formal proof. Solutions to many problems are provided to let students check their progress, while class-tested PowerPoint slides are on the web for anyone running the course. By looking at both the big picture and easy step-by-step methods for developing algorithms, the author guides students around the common pitfalls. He stresses paradigms such as loop invariants and recursion to unify a huge range of algorithms into a few meta-algorithms. The book fosters a deeper understanding of how and why each algorithm works. These insights are presented in a careful and clear way, helping students to think abstractly and preparing them for creating their own innovative ways to solve problems.

    • Includes lots of exercises, with selected solutions in the text; PowerPoint slides for instructors available from the web
    • Presents the big picture and step-by-step methods for developing algorithms, while avoiding common pitfalls
    • Appendices give background on big-O notation, logic, asymptotics, and other mathematical tools
    Read more

    Reviews & endorsements

    'Reading this is like sitting at the feet of the master: it leads an apprentice from knowing how to program to understanding deep principles of algorithms.' Harold Thimbleby, The Times Higher Education Supplement

    '… a great book to learn how to design and create new algorithms … a good book that the reader will appreciate in the first and subsequent reads, and it will make better developers and programmers.' Journal of Functional Programming

    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

    • Date Published: June 2008
    • format: Hardback
    • isbn: 9780521849319
    • length: 472 pages
    • dimensions: 240 x 182 x 26 mm
    • weight: 0.89kg
    • contains: 156 b/w illus. 24 tables 203 exercises
    • availability: Temporarily unavailable - available from TBC
  • Table of Contents

    Part I. Iterative Algorithms and Loop Invariants:
    1. 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
    Part II. Recursion:
    8. Abstractions, techniques, and theory
    9. Some simple examples of recursive algorithms
    10. Recursion on trees
    11. Recursive images
    12. Parsing with context-free grammars
    Part III. Optimization Problems:
    13. Definition of optimization problems
    14. Graph search algorithms
    15. Network flows and linear programming
    16. Greedy algorithms
    17. Recursive backtracking
    18. Dynamic programming algorithms
    19. Examples of dynamic programming
    20. Reductions and NP-completeness
    21. Randomized algorithms
    Part IV. Appendix:
    22. Existential and universal quantifiers
    23. Time complexity
    24. Logarithms and exponentials
    25. Asymptotic growth
    26. Adding made easy approximations
    27. Recurrence relations
    28. A formal proof of correctness
    Part V. Exercise Solutions.

  • Resources for

    How to Think About Algorithms

    Jeff Edmonds

    Find resources associated with this title

    Type Name Unlocked * Format Size

    Showing of

    Back to top

    *This title has one or more locked files and access is given only to lecturers adopting the textbook for their class. We need to enforce this strictly so that solutions are not made available to students. To gain access to locked resources you either need first to sign in or register for an account.


    These resources are provided free of charge by Cambridge University Press with permission of the author of the corresponding work, but are subject to copyright. You are permitted to view, print and download these resources for your own personal use only, provided any copyright lines on the resources are not removed or altered in any way. Any other use, including but not limited to distribution of the resources in modified form, or via electronic or other media, is strictly prohibited unless you have permission from the author of the corresponding work and provided you give appropriate acknowledgement of the source.

    If you are having problems accessing these resources please email lecturers@cambridge.org

  • Instructors have used or reviewed this title for the following courses

    • Algorithms and datat structures
    • Analysis of Algorithms
    • Data Structures and Algorithms I
    • Data and Algorithm Analysis
    • Intro to Algorithms and Dat Structures
    • Introduction to the Analysis of Algorithms
    • Renaissance/Reformation Europe
    • Unit Operations I
  • Author

    Jeff Edmonds, York University, Toronto
    Jeff Edmonds received his Ph.D. in 1992 at University of Toronto in theoretical computer science. His thesis proved that certain computation problems require a given amount of time and space. He did his postdoctorate work at the ICSI in Berkeley on secure multi-media data transmission and in 1995 became an Associate Professor in the Department of Computer Science at York University, Canada. He has taught their algorithms course thirteen times to date. He has worked extensively at IIT Mumbai, India, and University of California San Diego. He is well published in the top theoretical computer science journals in topics including complexity theory, scheduling, proof systems, probability theory, combinatorics, and, of course, algorithms.

Sign In

Please sign in to access your account

Cancel

Not already registered? Create an account now. ×

Sorry, this resource is locked

Please register or sign in to request access. If you are having problems accessing these resources please email lecturers@cambridge.org

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 ×

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