Whenever I trying to understand some new algorithm to solve a particular problem my first call is Cormen’s Introduction to Algorithms. However, not all problems are covered there, and not all covered ones come with actual implementations (or at least with pseudo-code) so that you can get a hint even on the details.
To solve this problem I started researching for websites that include a collection of popular algorithms. I found three worth mentioning:
- Rosetta Code
- Dictionary of Algorithms and Data Structures
- The Stony Brook Algorithm Repository
They cover a broad range of algorithms and topics, and most have implementations is several languages.