Top positive review
10 people found this helpful
Solid, unique approach to algorithms
on July 31, 2012
Levitin approaches this broad topic by focusing on design methods first, rather than application. After a brief introduction to efficiency analysis, he moves into elementary methods such as brute force, divide-and-conquer, etc. before broaching more difficult ideas like dynamic programming and greedy technique. In each chapter, most classes of problems that can be solved with the technique are at least mentioned, if not explained in some detail. As a beginner to computer science but having a good amount of programming experience, I was able to pick up the ideas from this book better than from my professor. Bear in mind that this book does not discuss implementation at all, but most algorithms are designed with a C-like or procedural style; you may want to follow up with a book more focused on OO design techniques if you are implementing with C++ or Java. As another reviewer mentioned, there are no solutions to the exercises, but I did find the hints helpful on a few occasions. The solution manual was provided to us by our instructor electronically. The only other complaint is the relatively high cost; this is not a book I plan to keep around for reference due to its limited scope. Nonetheless, as a solid introduction to the field, I found it to be indispensable in my algorithms course.