How to Think about Algorithms

Author:   Jeff Edmonds (York University, Toronto)
Publisher:   Cambridge University Press
Edition:   2nd Revised edition
ISBN:  

9781009302135


Pages:   464
Publication Date:   07 March 2024
Format:   Paperback
Availability:   In stock   Availability explained
We have confirmation that this item is in stock with the supplier. It will be ordered in for you and dispatched immediately.

Our Price $77.60 Quantity:  
Add to Cart

Share |

How to Think about Algorithms


Add your own review!

Overview

Full Product Details

Author:   Jeff Edmonds (York University, Toronto)
Publisher:   Cambridge University Press
Imprint:   Cambridge University Press
Edition:   2nd Revised edition
Dimensions:   Width: 17.10cm , Height: 2.70cm , Length: 24.20cm
Weight:   1.170kg
ISBN:  

9781009302135


ISBN 10:   1009302132
Pages:   464
Publication Date:   07 March 2024
Audience:   General/trade ,  General
Format:   Paperback
Publisher's Status:   Active
Availability:   In stock   Availability explained
We have confirmation that this item is in stock with the supplier. It will be ordered in for you and dispatched immediately.

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.

Reviews

'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


Author Information

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

Tab Content 6

Author Website:  

Customer Reviews

Recent Reviews

No review item found!

Add your own review!

Countries Available

All regions
Latest Reading Guide

wl

Shopping Cart
Your cart is empty
Shopping cart
Mailing List