I followed Coursera and the Karatsuba Multiplication algorithm made me reignite my interest in algorithms and data structures. Coursera is a good start followed by the Data Structures and Algorithms in Java book. Learning logarithmic analysis is a prerequisite in my opinion.