If you like this, you'll also really like the Rosetta Code project. It also has tons of algorithms (and more languages), and lately is getting some traction. http://rosettacode.org/wiki/Rosetta_Code
And if you'd like to try your own hand at solving problems using some of these algorithms (a good way to get some hands-on practice in your favourite new language), Rosalind [1] offers a gentle learning curve.
There are hundreds of problems on the site, roughly graded by difficulty, easiest first. In the beginning you get to solve a few easy problems. As you solve each problem, more problems become available for you to try.
They are "a platform for learning bioinformatics through problem solving" so many of the problems are about strings, but there are also problems on graphs and other structures.
They also have a new section called "Algorithmic Heights", which is "A collection of exercises in introductory algorithms to accompany "Algorithms", the popular textbook by Dasgupta, Papadimitriou, and Vazirani." I have submitted this for discussion here: https://news.ycombinator.com/item?id=7456390
Looking at their book, many of their sections for more advanced algorithms refer to the implementations with only a high-level overview of the algorithm. Their source code (by nature) is completely rigorous and nuanced. But what I imagine most people are looking for in a resource like this is something in between.
Skiena has a very different style of introducing algorithmic problems. Generally all comprehensive books tend to follow a pattern. Never have i seen a book in which while just being a university student i tried solving a problem described in first chapter, kept reading through seeing my attempts fail and finally learn it was the famous TravellingSalesman NP-hard problem. Always loved that approach.