Algorithms are small problems to solve with code, sometimes requiring cleverness, often requiring loops, and even more often requiring different kinds of data structures to solve, such as arrays and hashes to name a few. They are very commonly used as interview questions.
Project Euler problems is a superb and simple resource to get great and challenging math-based algorithms.
Remember that algorithms go hand in hand with data structures.
- Introduction to Algorithms, by Thomas H. Cormen
- Algorithms, by Robert Sedgewick
- The Art of Computer Programming, Vol. 1: Fundamental Algorithms, by Donald E. Knuth
Places to find challenges
- Programmr challenges
- CodeForces problem sets
- Project Euler problems, and here’s a place to see the solutions.
- Karan’s general challenge list