Computer Science - Algorithms - Dynamic programming - Dynamic Programming Concepts
5 steps. Step 1 'The Problem DP Solves': Overlapping subproblems = same calculation repeated many times. Optimal substructure = optimal solution built from optimal sub-solutions. DP = solve each subproblem ONCE, store the result. Step 2 'Top-Down (Memoization)': Start with the big problem, recurse d