Skip to content
Open global navigation

Cambridge University Press

AcademicLocation selectorSearch toggleMain navigation toggle
Cart
Register Sign in Wishlist

How to Think About Algorithms

$130.00

  • Date Published: May 2008
  • availability: In stock
  • format: Hardback
  • isbn: 9780521849319
Average user rating
(1 review)

$130.00
Hardback

Add to cart Add to wishlist

Other available formats:
Paperback


Request examination copy

Instructors may request a copy of this title for examination

Description
Product filter button
Description
Contents
Resources
Courses
About the Authors
  • There are many algorithm texts that provide lots of well-polished code and proofs of correctness. This book is not one of them. Instead, this book presents insights, notations, and analogies to help the novice describe and think about algorithms like an expert. By looking at both the big picture and easy step-by-step methods for developing algorithms, the author helps students avoid the common pitfalls. He stresses paradigms such as loop invariants and recursion to unify a huge range of algorithms into a few meta-algorithms. Part of the goal is to teach the students to think abstractly. Without getting bogged with formal proofs, the book fosters a deeper understanding of how and why each algorithm works. These insights are presented in a slow and clear manner accessible to second- or third-year students of computer science, preparing them to find 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

    "Edmonds intends this text for use in advanced undergraduate courses in algorithms. The author encourages abstract thinking through exercises informed by real-world scenarios to help students access and master algorithm concepts, including proofs of correctness, with greater ease. Twenty-one chapters under the main themes of iterative algorithms and loop invariants (section one), recursion (section two), and optimization problems (section three) cover topics that include: measures of progress and loop invariants, abstract data types, binary search, iterative sorting algorithms, abstractions and theory, recursion on trees, recursive images, graph search algorithms, network flows and linear programming, greedy algorithms, and dynamic programming algorithms. Seven additional chapters in the appendix consider specific algorithms such as those measuring time complexity and asymptomatic growth."
    Book News, Inc.

    "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. Presentation [is] informed and friendly."
    Harold Thimbleby, Times Higher Education

    "I believe this book could be considered a must-read for every teacher of algorithms. Even if he reads things he already knows, he will be able to view them from different angles and in the process get some very useful ideas on how to explain algorithms in class. The book would also be invaluable to researchers who wish to gain a deeper understanding on how algorithms work, and to undergraduate students who wish to develop their algorithmic thought... it has the potential to be considered a classic."
    Kyriakos N. Sgarbas for SIGACT News

    "All in all this is a great book to learn how to design and create new algorithms. The author teaches you how to think about algorithms step by step, building the necessary knowledge and illustrating the process with common algorithms. This is a good book that the reader will appreciate in the first and subsequent reads, it will make better developers and programmers."
    Journal of Fuctional Programming

    See more reviews

    Customer reviews

    16th Sep 2013 by Abinayaj

    good

    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: May 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: In stock
  • 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.

  • View all resources
    Group Section Name Type Size Sort Order filter vars
    General ResourcesAuthor's WebsiteAuthor's websitelinkn/aSort Orderauthor's website general resources author's website general resources author\'s website
    General ResourcesErrataErrata Exercisespdf720KB0errata general resources errata general resourceserrata
    General ResourcesErrataErratapdf7KB1errata general resources errata general resourceserrata
    General ResourcesFiguresMatrix Multiplication and All Pairs figureszip144KB2figures general resources figures general resourcesfigures
    General ResourcesPowerpoint SlidesRecursionzip1907KB3powerpoint slides general resources powerpoint slides general resourcespowerpoint slides
    General ResourcesPowerpoint SlidesGreedyzip3261KB4powerpoint slides general resources powerpoint slides general resourcespowerpoint slides
    General ResourcesPowerpoint SlidesSearching in a Graphzip1077KB5powerpoint slides general resources powerpoint slides general resourcespowerpoint slides
    General ResourcesPowerpoint SlidesGCDzip73KB6powerpoint slides general resources powerpoint slides general resourcespowerpoint slides
    General ResourcesPowerpoint SlidesIntroductionzip382KB7powerpoint slides general resources powerpoint slides general resourcespowerpoint slides
    General ResourcesPowerpoint SlidesIterativezip2034KB8powerpoint slides general resources powerpoint slides general resourcespowerpoint slides
    General ResourcesPowerpoint SlidesMathzip610KB9powerpoint slides general resources powerpoint slides general resourcespowerpoint slides
    General ResourcesPowerpoint SlidesLowerboundszip252KB10powerpoint slides general resources powerpoint slides general resourcespowerpoint slides
    General ResourcesPowerpoint SlidesNetwork Flowzip803KB11powerpoint slides general resources powerpoint slides general resourcespowerpoint slides
    General ResourcesPowerpoint SlidesDynamic Programmingzip1785KB12powerpoint slides general resources powerpoint slides general resourcespowerpoint slides
    General ResourcesSolutionsSolutionspdf361KB13solutions general resources solutions general resourcessolutions

    This title has a locked file and access is given only to instructors 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 need first to log in with your Cambridge account details and then return to this page to submit details of your course so that you can be authenticated as an instructor. Click here to log in. If you do not have a Cambridge account you will need first to click here to create an account and then return to this page to be authenticated.


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

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