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 Algorithms120,99 €
- Nisheeth K. Vishnoi (Connecticut Yale University)Algorithms for Convex Optimization43,99 €
- Nisheeth K. Vishnoi (Connecticut Yale University)Algorithms for Convex Optimization99,99 €
- M H Alsuwaiyel (King Fahd Univ Of Petroleum & Minerals (Kfupm) SauParallel Algorithms120,99 €
- Veli Makinen (University of Helsinki)Genome-Scale Algorithm Design72,99 €
- Bela Bollobas (University of Cambridge)The Art of Mathematics - Take Two57,99 €
- Panos Louridas (Athens University of Economics and Business)Real-World Algorithms47,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.