Amazon cover image
Image from Amazon.com
Image from Google Jackets

How to think about algorithms / Jeff Edmonds.

By: Material type: TextTextLanguage: English Publication details: Cambridge, 2024.Edition: Second editionDescription: xv, 599 pages : illISBN:
  • 9781009302180
Subject(s): Additional physical formats: Print version: : No titleDDC classification:
  • 518.1 23/eng20230722 EDM
Online resources:
Contents:
Frontmatter Introduction pp 1-2 Part I - Iterative Algorithms and Loop Invariants pp 3-4 1 - Iterative Algorithms: Measures of Progress and Loop Invariants pp 5-32 2 - Examples Using More-of-the-Input Loop Invariants pp 33-46 3 - Abstract Data Types pp 47-63 4 - Narrowing the Search Space: Binary Search pp 64-73 5 - Iterative Sorting Algorithms pp 74-79 6 - More Iterative Algorithms pp 80-87 7 - The Loop Invariant for Lower Bounds pp 88-96 8 - Key Concepts Summary: Loop Invariants and Iterative Algorithms pp 97-101 9 - Additional Exercises: Part I pp 102-123 10 - Partial Solutions to Additional Exercises: Part I pp 124-130 Part II - Recursion pp 131-132 11 - Abstractions, Techniques, and Theory pp 133-148 12 - Some Simple Examples of Recursive Algorithms pp 149-168 13 - Recursion on Trees pp 169-191 14 - Recursive Images pp 192-197 15 - Parsing with Context-Free Grammars pp 198-207 16 - Key Concepts Summary: Recursion pp 208-210 17 - Additional Exercises: Part II pp 211-229 18 - Partial Solutions to Additional Exercises: Part II pp 230-238 Part III - Optimization Problems pp 239-240 19 - Definition of Optimization Problems pp 241-242 20 - Graph Search Algorithms pp 243-267 21 - Network Flows and Linear Programming pp 268-293 22 - Greedy Algorithms pp 294-320 23 - Recursive Backtracking pp 321-335 24 - Dynamic Programming Algorithms pp 336-374 25 - Designing Dynamic Programming Algorithms via Reductions pp 375-379 26 - The Game of Life pp 380-389 27 - Solution Is a Tree pp 390-401 28 - Reductions and NP-Completeness pp 402-422 29 - Randomized Algorithms pp 423-430 30 - Machine Learning pp 431-438 31 - Key Concepts Summary: Greedy Algorithms and Dynamic Programming pp 439-453 32 - Additional Exercises: Part III pp 454-481 33 - Partial Solutions to Additional Exercises: Part III pp 482-496 Part IV - Additional Topics pp 497-498 34 - Existential and Universal Quantifiers pp 499-507 35 - Time Complexity pp 508-514 36 - Logarithms and Exponentials pp 515-517 37 - Asymptotic Growth pp 518-528 38 - Adding-Made-Easy Approximations pp 529-539 39 - Recurrence Relations pp 540-548 40 - A Formal Proof of Correctness pp 549-550 41 - Additional Exercises: Part IV pp 551-555 42 - Partial Solutions to Additional Exercises: Part IV pp 556-560 Exercise Solutions pp 561-587 Conclusion pp 588-588 Index pp 589-600
Summary: Understand algorithms and their design with this revised student-friendly textbook. Unlike other algorithms books, this one is approachable, the methods it explains are straightforward, and the insights it provides are numerous and valuable. Without grinding through lots of formal proof, students will benefit from step-by-step methods for developing algorithms, expert guidance on common pitfalls, and an appreciation of the bigger picture. Revised and updated, this second edition includes a new chapter on machine learning algorithms, and concise key concept summaries at the end of each part for quick reference. Also new to this edition are more than 150 new exercises: selected solutions are included to let students check their progress, while a full solutions manual is available online for instructors. No other text explains complex topics such as loop invariants as clearly, helping students to think abstractly and preparing them for creating their own innovative ways to solve problems.
Tags from this library: No tags from this library for this title. Log in to add tags.
Star ratings
    Average rating: 0.0 (0 votes)
Holdings
Item type Current library Collection Call number Status Barcode
General Books General Books CUTN Central Library Sciences Non-fiction 518.1 EDM (Browse shelf(Opens below)) Available 54565

Frontmatter
Introduction

pp 1-2
Part I - Iterative Algorithms and Loop Invariants

pp 3-4
1 - Iterative Algorithms: Measures of Progress and Loop Invariants

pp 5-32
2 - Examples Using More-of-the-Input Loop Invariants

pp 33-46
3 - Abstract Data Types

pp 47-63
4 - Narrowing the Search Space: Binary Search

pp 64-73
5 - Iterative Sorting Algorithms

pp 74-79
6 - More Iterative Algorithms

pp 80-87
7 - The Loop Invariant for Lower Bounds

pp 88-96
8 - Key Concepts Summary: Loop Invariants and Iterative Algorithms

pp 97-101
9 - Additional Exercises: Part I

pp 102-123
10 - Partial Solutions to Additional Exercises: Part I

pp 124-130
Part II - Recursion

pp 131-132
11 - Abstractions, Techniques, and Theory

pp 133-148
12 - Some Simple Examples of Recursive Algorithms

pp 149-168
13 - Recursion on Trees

pp 169-191
14 - Recursive Images

pp 192-197
15 - Parsing with Context-Free Grammars

pp 198-207
16 - Key Concepts Summary: Recursion

pp 208-210
17 - Additional Exercises: Part II

pp 211-229
18 - Partial Solutions to Additional Exercises: Part II

pp 230-238
Part III - Optimization Problems

pp 239-240
19 - Definition of Optimization Problems

pp 241-242
20 - Graph Search Algorithms

pp 243-267
21 - Network Flows and Linear Programming

pp 268-293
22 - Greedy Algorithms

pp 294-320
23 - Recursive Backtracking

pp 321-335
24 - Dynamic Programming Algorithms

pp 336-374
25 - Designing Dynamic Programming Algorithms via Reductions

pp 375-379
26 - The Game of Life

pp 380-389
27 - Solution Is a Tree

pp 390-401
28 - Reductions and NP-Completeness

pp 402-422
29 - Randomized Algorithms

pp 423-430
30 - Machine Learning

pp 431-438
31 - Key Concepts Summary: Greedy Algorithms and Dynamic Programming

pp 439-453
32 - Additional Exercises: Part III

pp 454-481
33 - Partial Solutions to Additional Exercises: Part III

pp 482-496
Part IV - Additional Topics

pp 497-498
34 - Existential and Universal Quantifiers

pp 499-507
35 - Time Complexity

pp 508-514
36 - Logarithms and Exponentials

pp 515-517
37 - Asymptotic Growth

pp 518-528
38 - Adding-Made-Easy Approximations

pp 529-539
39 - Recurrence Relations

pp 540-548
40 - A Formal Proof of Correctness

pp 549-550
41 - Additional Exercises: Part IV

pp 551-555
42 - Partial Solutions to Additional Exercises: Part IV

pp 556-560
Exercise Solutions

pp 561-587
Conclusion

pp 588-588
Index

pp 589-600

Access restricted to subscribing institutions.

Understand algorithms and their design with this revised student-friendly textbook. Unlike other algorithms books, this one is approachable, the methods it explains are straightforward, and the insights it provides are numerous and valuable. Without grinding through lots of formal proof, students will benefit from step-by-step methods for developing algorithms, expert guidance on common pitfalls, and an appreciation of the bigger picture. Revised and updated, this second edition includes a new chapter on machine learning algorithms, and concise key concept summaries at the end of each part for quick reference. Also new to this edition are more than 150 new exercises: selected solutions are included to let students check their progress, while a full solutions manual is available online for instructors. No other text explains complex topics such as loop invariants as clearly, helping students to think abstractly and preparing them for creating their own innovative ways to solve problems.

There are no comments on this title.

to post a comment.