Question: what is the difference between dynamic programming and recursion?
Answer: The recursive algorithm is going to naturally implement that recursively, keep calling the function every time, every time if we need the value. Dynamic programming instead, is going to store the values of these the sub problems and every time it sees the sub problem again, it just looks up the value.