How to think about Algorithms
Material type:![Text](/opac-tmpl/lib/famfamfam/BK.png)
- 9780521614108
- 518.1 EDM-H
Item type | Current library | Home library | Call number | Status | Date due | Barcode | |
---|---|---|---|---|---|---|---|
![]() |
Dept. of Computational Biology and Bioinformatics Processing Center | Dept. of Computational Biology and Bioinformatics | 518/.1 EDM-H (Browse shelf(Opens below)) | Available | DCB2547 |
Browsing Dept. of Computational Biology and Bioinformatics shelves, Shelving location: Processing Center Close shelf browser (Hides shelf browser)
![]() |
![]() |
![]() |
![]() |
No cover image available No cover image available |
![]() |
![]() |
||
516.24 ABB-T .MA Teach yourself Trigonometry | 517.38 CHE-A Analysis Of Linear Systems | 517.6 DEY-N Numerical methods | 518/.1 EDM-H How to think about Algorithms | 518 CHA-A Applied Numerical Methods with MATLAB: For Engineers and Scientists | 518.1 BAS-D Design Methods and Analysis of Algorithm | 518.1 DAS-A Algorithms |
Iterative algorithms: measures of progress and loop invariants -- Examples using more-of-the-input loop invariants -- Abstract data types -- Narrowing the search space: binary search -- Iterative sorting algorithms -- Euclid's GCD algorithm -- The loop invariant for lower bounds -- Abstractions, techniques, and theory -- Some simple examples of recursive algorithms -- Recursion on trees -- Recursive images -- Parsing with context-free grammars -- Definition of optimization problems -- Graph search algorithms -- Network flows and linear programming -- Greedy algorithms -- Recursive backtracking -- Dynamic programming algorithms -- Examples of dynamic programs -- Reductions and NP-completeness -- Randomized algorithms -- Existential and universal quantifiers -- Time complexity -- Logarithms and exponentials -- Asymptotic growth -- Adding-made-easy approximations -- Recurrence relations -- A formal proof of correctness.
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.
There are no comments on this title.