The algorithm descriptions are, for the most part, reasonably easy to follow. The diagrams help to give you a very intuitive "feel" of how each algorithm works, and how each compares to other similar algorithms. This is, without doubt, my favorite aspect of this book. Another thing I like is that it didn't read like your standard textbook; it was much less formal, which I found a refreshing change (I read it in college). On the minus side, the code was pretty much C plus classes. Switching from C to C++ really didn't add any value. The author chose to write the code to be as small and concise as reasonable in order to convey the structure of the algorithm in question. I think that he went too far towards this goal; the variable names are are far too short, leading to confusion in complicated algorithms, and very few in-line comments are used. Bottom line: while it certainly is not a model of how to write well-designed C++, it accomplishes its goal very well: describing, comparing, and contrasting basic to intermediate frequently used algorithms in a very intuitive way.