Jeff Edmonds (Toronto York University)
How to Think about Algorithms
Jeff Edmonds (Toronto York University)
How to Think about Algorithms
- Broschiertes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
The second edition of this student-friendly textbook now includes over 150 new exercises, key concept summaries and a chapter on machine learning algorithms. Its approachability and clarity make it ideal as both a main course text or as a supplementary book for students who find other books challenging.
Andere Kunden interessierten sich auch für
- Jeff Edmonds (Toronto York University)How to Think about Algorithms155,99 €
- Daniel Sanz-Alonso (University of Chicago)Inverse Problems and Data Assimilation43,99 €
- David Liben-Nowell (Minnesota Carleton College)Connecting Discrete Mathematics and Computer Science57,99 €
- John Watrous (Ontario University of Waterloo)The Theory of Quantum Information69,99 €
- Jeffrey Shallit (Ontario University of Waterloo)The Logical Approach to Automatic Sequences96,99 €
- Phil Winder Ph.D.Reinforcement Learning44,99 €
- Paul Lyonel Hagemann (Technische Universitat Berlin)Generalized Normalizing Flows Via Markov Chains23,99 €
-
-
-
The second edition of this student-friendly textbook now includes over 150 new exercises, key concept summaries and a chapter on machine learning algorithms. Its approachability and clarity make it ideal as both a main course text or as a supplementary book for students who find other books challenging.
Produktdetails
- Produktdetails
- Verlag: Cambridge University Press
- 2 Revised edition
- Seitenzahl: 464
- Erscheinungstermin: 7. März 2024
- Englisch
- Abmessung: 241mm x 167mm x 28mm
- Gewicht: 1174g
- ISBN-13: 9781009302135
- ISBN-10: 1009302132
- Artikelnr.: 68135621
- Verlag: Cambridge University Press
- 2 Revised edition
- Seitenzahl: 464
- Erscheinungstermin: 7. März 2024
- Englisch
- Abmessung: 241mm x 167mm x 28mm
- Gewicht: 1174g
- ISBN-13: 9781009302135
- ISBN-10: 1009302132
- Artikelnr.: 68135621
Jeff Edmonds is Professor in the Department of Electrical Engineering and Computer Science at York University, Canada.
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.
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.
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.
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.