This material has been developed over a period of several years in anupper-division course taught to computer science students at SUNY,Stony Brook, by Steve Skiena. A major goal of the author has been totake some of the "mystery" out of identifying and dealing withalgorithms which these students will later use in the workplace,drawing heavily on the author's own real-world experiences, the bookstressing design and analysis. Thus the work takeson a verypractical character, as reflected in its title: "Manual". The Book isdivided into two parts, the first being a general guide to techniquesfor the design and analysis of computer algorithms. The second is areference section, comprising the catalog of algorithmic resources,implementations, and an extensive bibliography.The primary audience for this book/CD-ROM combination is the workingprofessional who uses algorithms on a daily basis and has need for ahandy reference. A major feature of this book is the inclusion of acomplete "catalog" of important algorithmic problems. By browsingthis catalog, readers can quickly identify what the problem they haveencountered is called, what is known about it, and how they shouldproceed if they need to solve it. Nothing like this catalog exists inthe computing literature for general computer algorithms.This work can also readily be used as a course supplement or adjuncttext in standard courses on algorithm design, or simply as a "studentreference guide", as the author puts it. Pedagogic features includepen-and-paper exercises, "team projects", independent studentprojects, "take home" lessons (goals) at the beginning of chapters.Other teaching and learning aids reside on the accompanying CD-ROM.
"...the book is an algorithm implementation treasure trove, and putting all of these implementations in one place was no small feat. The list of implementations, an extensive bibliography, and the CD-ROM make the book an invaluable resource for everyone interested in the subject." --ACM Computing Reviews