title: What's the difference between recursion, memoization & dynamic programming?
body: <blockquote>
    <p><strong>Possible Duplicate:</strong><br>
    <a href="https://stackoverflow.com/questions/6164629/dynamic-programming-and-memoization-top-down-vs-bottom-up-approaches">Dynamic programming and memoization: top-down vs bottom-up approaches</a>  </p>
  </blockquote>
  
  
  
  <p>I have gone through a lot of articles on this but can't seem to make sense of it. At times recursion and dynamic programming looks the same and at others memoization &amp; dynamic programming look alike. Can someone explain to me what's the difference?</p>
  
  <p>P.S. It will also be helpful if you could point me to some code using the three approaches on the same problem. (e.g. the Fibonacci series problem, I think every article I read used recursion but referred to it as dynamic programming)</p>