Introduction to Algorithms by Thomas H. Cormen
My rating: 5 of 5 stars
The book gives a solid foundation of common non-trivial algorithms and data structures. It all comes with nice pseudocode, detailed walk-throughs and complexity analysis (along with worst case, average case and amortized complexity).
Personally I'd prefer to see the material in much more compact form, covering more of topics and more advanced or tricky algorithms and data structures. However, when something isn't clear, the detailed walk-throughs really help. Also, the exercises provided are invaluable.
I'd say is a must-read for every software engineer and computer scientist. If you aren't already familiar with the content from other sources, it's really worth investing a couple of years in it: read the book, try everything out with your favorite programming language and do exercises. Comparing to Knuth's "The Art of Computer Programming", it is a ten times easier read.
View all my reviews