words:
pedagogical , redundant , squirrel sth away , versus , tremendous , phony , straw-man , tedious , decrement
notes:
dynamic programming :
if the sub-problems are overlapping , we can use memorization to optimize . We can record the value at 1st time then we can look it up subsequently instead of computing again .(examples: recursive version of fibonacci & 0/1 knapsack problem)
0/1 knapsack problem used memorization to solve :
the order of growth is not only decided by the size of the problem , but also by the size of the solution(how many items can be put into the bag). So it is hard to confirm the complexity of the algorithm and the professor have said that in real world u just can test the algorithm rather than be sure the complexity of them
sum up the dynamic programming:
1. trade space for time
2. it is broadly useful
3. problem reduction: transform sth unfamiliar into sth familiar (write out the mathematical formula and change the constrain , etc)