title: What are some good resources for learning algorithm optimization?
body: <p>I've been tinkering around with code (<em>Basic, Python, C++, PHP, JavaScript</em>) on and off for almost two decades, but have only recently begun to get more "serious" about it (<em>using Java</em>). I can write code to do what I want, but now I want to learn to optimize my programs to run faster (looping through an array for every element in an array can get slow very quickly, etc). What I don't want is to be popping onto this site every 5 minutes for every little question I have. I want to learn to answer my own questions.</p>
  
  <p>That said, what are some good resources for learning algorithm analysis and optimization?</p>
  
  <p>I have a copy of <strong>Data Structures and Algorithms in Java</strong> (3rd edition) but I feel it's written to mostly be incorporated into a college curriculum and isn't very easy to use sans-professor. The book also has a tendency to over-use abbreviations, making it hard to flip to a particular chapter without having to skim back through the book to understand what each abbreviation stands for.</p>
  
  <p>I do have some knowledge of Calculus, but it's extremely rusty, so I would prefer resources that give more explanation and fewer formulas.</p>
  
  <p>Thank you in advance for all the help you can give!</p>