title: Memoization or Tabulation approach for Dynamic programming
body: <p>There are many problems that can be solved using Dynamic programming e.g. Longest increasing subsequence. This problem can be solved by using 2 approaches</p>
  
  <ol>
  <li>Memoization (Top Down) - Using recursion to solve the sub-problem and storing the result in some hash table.</li>
  <li>Tabulation (Bottom Up) - Using Iterative approach to solve the problem by solving the smaller sub-problems first and then using it during the execution of bigger problem.</li>
  </ol>
  
  <p>My question is which is better approach in terms of time and space complexity? </p>