From a prominent expert in algorithm efficiency, this book discusses the use of modern data structures with a keen eye for issues of performance and running time. Abundant examples demonstrate the power and breadth of the C language in the hands of an experienced C programmer. The concepts behind data structures are illustrated with many diagrams and illustrations.
When I was having trouble learning basic data structures and algorithms (linked list, hash, etc...) I turned to this book since I already knew the C language well enough. This book taught me SO much and was so clear that I learned fairly quickly. It also taught me a lot more about pointers in C as well.
A great balance of theoretical rigorous and practical implementation. The book covers undergraduate data structure + algorithm. The level of theoretical rigorous is less than CLRS but I find it is a good supplemental to CLRS. For example, the author gives relative concise but still detail enough to the graph algorithms. CLRS gives much in-depth analysis. I would highly recommend anyone who wants to start learning algorithm to try out this book. In addition, the book also covers many advanced data structures like skiplist, kd-tree, and red-black tree.
I think that this is a great book for anyone starting to learn about data structures and algorithms. If you have some experience with any coding language, you should try this book. It is to the point and not at all complex sparing the idea and concept that is being talked about. In the end the chapters on advanced algorithms are very good.