Dynamic programming

A variation of divide and conquer that additionally uses either recursion with memoization or iteration with tabulation to break down a problem into smaller subproblems.

External Resources