I learned about algorithms in a university course years ago. But if you are to do algorithms using a book, then you need a good one. Two books stand out for me as the way to get into algorithms:
- The Algorithm Design Manual by Steven S. Skiena
- Introduction to Algorithms by T Cormen, C Leiserson, R Rivest and C Stein
The first is perhaps more of a hands-on manual, whereas the latter is more like the bible, but with proof.
The strategy you could follow would consist of reading, doing the theoretical exercises, and then implementing as much as you can, focusing on algorithms/problems you find interesting or challenging or both. Thus, try to cover all aspects of algorithms, not just implementing them. This will include studying their time and space complexity and proving their correctness. The study of algorithms is more than just implementing algorithms.
After you've gained enough experience, start specializing. If you become interested in Computational Geometry or non-blocking algorithms, for example, then start exploring books and research papers in this area.
Specialization is good, but it is also good to sample techniques from other areas, so reading broadly about algorithms (and implementing such algorithms) is a good way of maintaining a broad skill set.
After going through the introductory algorithms, you may consult books like Randomized Algorithms by Motwani & Raghavan or Approximation Algorithms by Vazirani. These books are a survey (and to some extent, a good learning exercise in mathematical techniques) in more advanced algorithm design techniques. They also broaden your insight into many other fields in CS like Graphs and Networks, Data Structure design and Optimization.