You are fortunate that there are several excellent algorithms textbooks on the market. Many of them (including Introduction to Algorithms) have material on not just the algorithms, but the techniques you can use to develop algorithms. I recommend that you learn techniques such as divide-and-conquer, dynamic programming, greedy algorithms, and amortized analysis.