Foundations‎ > ‎Algorithms‎ > ‎


Memoization is a variant of Dynamic Programming. Instead of solving the problem in a bottom-up fashion, Memoization solves problems top-down just like recursion. But unlike recursion, Memoization saves the values of each computation in a table (like Dynamic Programming) so on next call it can look up the answer to a subproblem if it was already calculated (recursion will calculate again).