This review is from: Programming Pearls (ACM Press) (Paperback)
The book "Programming Pearls" by Jon Bentley is definitely one that all professional and soon-to-be professional programmers should read. The Columns offer a lot of insight into different problems and various ways to tackle solving them. The exercises at the end of each chapter are an excellent way to test your understanding of the described concepts and also your problem solving abilities.
The only bad thing I can say about the book is that I would have loved it if it were a good bit longer with even more examples. That it is not to say that it's a short book, quite the opposite actually - if you are to read it the way it was meant to be read, doing the exercises after each chapter, you will need to invest some time. And I'd say it'd all be worth it.