# Dynamic programmingEdit

Abstract characteristics of dynamic programming algorithms:

- Small (linear) number of subproblems
- Can solve larger subproblems quickly based on the solutions to previously computed subproblems (memoization)
- Solving all the subproblems makes it trivial to provide final solution

An example of a dynamic programming algorithm is Computing the Maximum Weighted Independent Set of a graph path.