This is the book that introduced me to the wonderful world of algorithms, and I love it. The introduction chapter was a revelation and nothing like I had read before. I didn't understand everything in the first read but it made me to want to. The book is more accessible and practical than Knuth and CLRS, and more thorough than Skiena and such. Everything about this book is beautiful, not the least of which is the visualization of sort algorithms. There is also abundant tree related topics, which is quite refreshing and useful, in hindsight, because trees, other than balanced binary ones, are generally ignored in most books where graph steals the limelight.
There are two volumes that make this book, first having Parts 1 to 4, dealing with fundamentals, DS, sort and search, and the second, Part 5, dealing exclusively with graphs. I have only the first one and the opinion is based on that. There is a newer Java version, which includes the graph topics, and is about 250 pages longer than the first volume. However, based on the preview, it seems almost first 120 pages are dedicated to the Java language and OOP, unlike the C++ version which starts directly with the subject, so not sure how much of the contents are removed to make room, and how the quality differs.
This is the book that introduced me to the wonderful world of algorithms, and I love it. The introduction chapter was a revelation and nothing like I had read before. I didn't understand everything in the first read but it made me to want to. The book is more accessible and practical than Knuth and CLRS, and more thorough than Skiena and such. Everything about this book is beautiful, not the least of which is the visualization of sort algorithms. There is also abundant tree related topics, which is quite refreshing and useful, in hindsight, because trees, other than balanced binary ones, are generally ignored in most books where graph steals the limelight.
There are two volumes that make this book, first having Parts 1 to 4, dealing with fundamentals, DS, sort and search, and the second, Part 5, dealing exclusively with graphs. I have only the first one and the opinion is based on that. There is a newer Java version, which includes the graph topics, and is about 250 pages longer than the first volume. However, based on the preview, it seems almost first 120 pages are dedicated to the Java language and OOP, unlike the C++ version which starts directly with the subject, so not sure how much of the contents are removed to make room, and how the quality differs.