This book would pair excellently with any textbook or two on algorithms and data structures. There's a lot of practical advice as well as sample problems that really allow you to tie everything together in an effective way. With that being said, this is supplemental reading material. You shouldn't be using this work as a means of learning about the concepts contained within it.
This is a great read, as a handbook, consider it as a supplementary book. Crisp. As a beginner, I can say the book is distributed 70%-30% (70 begginer/intermediate, 30 advanced). Surely a book that falls in the category of "Read more than once". The book cozily fits in to your understanding of CP, barring advanced material, which once I become expert enough will fit seamlessly as well (or if you already are, a one time read would suffice).