What is the basic idea behind dynammic programming?
What are the 4 steps of dynamic programming?
What shall we do if we found a working recursion which is not efficient?(becuase it computes the same subproblem over and over again)
There are usually two equivalent ways to implement a dynamic-programming approach. What are they?
top-down with memoization
bottom-up method
Rod cutting problem
can you describe the recursive alogirthm which runs in exponential time?

Rod cutting problem
Describe top-down with memoization algorithm

Rod cutting problem
describe the bottom-up algorithm


What are the steps in solving a problem using dynammic programming?

Matrix-chain multiplication
give a formal definition of the problem

Matrix-chain multiplication
describe the subproblems and OPT

Matrix-chain multiplication
describe the formula

Matrix-chain problem
What are the base cases?

Matrix-Chain
describe the top-down solution

Matrix-chain
describe the bottom-up algorithm

Matrix-chain
can you recall the table-sketch for the matrix-chain problem?

What do we need to prove in the bottom-up algorithm?

The knapsack problem
describe the problem

The knapsack problem
define the set of solutions for a typical subproblem and their OPT

The knapsack problem
divide the set of solutions into subsets

The knapsack problem
describe the structure formula

The knapsack problem
