Top positive review
2 people found this helpful
An exhaustive and user-friendly introduction to algorithms.
on 10 January 2016
I remember I first read this book back at the beginning of 2000, since it was among the suggested titles for the Data Structures and Algorithms course at the University. Algorithms are one of those topics whose core did not significantly change in the last 30 years, despite the many publications that, every month, introduce new concepts and better solutions. This means that any book from the 80's is valuable, as long as the concepts it presents are concise and well explained. The importance of the subject results in the keyword algorithms returning more than 42 thousands results on Amazon. Plenty of material for everyone! In this horde of titles, Introduction to Algorithms definitely stands out as *the* book that should be in the book shelf of any IT professional.
As the title suggests, Introduction to Algorithms, which reached its third edition back in 2009, is a beginners text for anyone interested in learning the basics, be it a student at the first year of college or simply a curious enthusiast. Many experienced developers might also find the text quite useful to refresh some concept, since many job interviews are about implementing a variant of a known algorithm. The book spans some 1300 pages, which means that, unless you quickly rush from the front to the back cover, it will take quite some time to read it. The topics are grouped into seven sections, which range from basic concepts, such as divide and conquer and the O notation, up to NP completeness, passing through sorting, graphs and trees.
Each chapter follows a common pattern: first, an overview of the subject being covered is given; what follows is a detailed discussion of the key parts of that topic; and plenty of exercises, to practice what we just learned. What I find particularly interesting about this book is the abundance of clear and colorful diagrams which show, step by step, how a data structure changes through time. The algorithms are explained both theoretically and through pseudo code. The key points of each algorithm in the code are then explicitly referenced by the authors, when they present an example with real data, covering all the different (edge) cases that can happen. Detailed schemas support these explanation, giving the reader a step by step view of the data.
Tying it all up, a must have for every programmer. While there are many excellent texts out there covering the recent advances on specific subjects, Introduction to Algorithms is the one choice to get started.
As usual, you can find more reviews on my personal blog: http://books.lostinmalloc.com. Feel free to pass by and share your thoughts!