But I guess I'm just grumpy, because the book came with high praise.
To be more constructive:
Sedgewick's Algorithms is good for implementations in imperative languages. Okasaki's Purely Functional Data Structures is a nice introduction to some algorithms and data structures suitable in a purely functional setting. He also addresses laziness.
And finally for the theory, Schrijver's "Combinatorial Optimization: Polyhedra and Efficiency" tells you more about P and the boundary to NP than you ever wanted to know.
Those are just a few that I enjoyed, and I can't claim they are the best.
For example Structure and Interpretation of Computer Programs is definitely worth a read, but it won't help you with algorithms directly.
You'll have to go elsewhere for cutting edge in a lot of areas, but it's great to learn from.
(I did enjoy Concrete Mathematics.)
Knuth is a bit too imperative for my interests.
But if you like strong stuff, Schrijver's "Combinatorial Optimization: Polyhedra and Efficiency" tells you more about P and the boundary to NP than you ever wanted to know.
http://jeffe.cs.illinois.edu/teaching/algorithms/ is reasonably accessible so far for me, yet still manages to teach me new hard things.
None of the books mentioned are bleeding edge. It's easier to get that out of papers.
Of course, it don't focus on algorithms itself. You need to study other materials, provided in books already mentioned here :)