Preface

Algorithms are important because all kinds of problems (both in computer science and outside of computer science) can be modeled as algorith problems/solved using algorithms. Deeper than that, algorithms provide a language for expressing problems and a way to make the problems/solutions clean and precise. There are two steps/components to algorithms: getting to the “clean core” of the problem and identifying the correct algorithm design technique. The authors' goal for the book is to teach readers how to think about algorithms, decide on design techniques, etc. in a realistic way (i.e. how to approach problems rather than just what the situations/design techniques are).

None for this preface - it was pretty short and simple.

I found this section very readable. The only problems I had with it are that it used a little too much technical language, and their “real world” examples of problems that can be solved with algorithm techniques were not familiar to me and made that part slightly difficult to read.