arrange subproblems in order to solve them only once, uses additional memory to save the solution and minimise computational time
arrange subproblems in order to solve them only once, uses additional memory to save the solution and minimise computational time
an optimization algorithm that breaks down the problem into discrete subproblems and uses the result of all these subproblems to get the final answer. often involves a grid