COP 4531: Lecture 17
Learning objectives
After this class, you should be able to:
- Given a problem, identify if dynamic programming is likely to be effective in solving it.
- Given a problem, determine if it satisfies the optimal substructure property.
- Given a recursive solution to a problem, derive its time complexity.
- Given a recursive solution (with repeated subproblems) to a problem, give an improved algorithm that uses memoization to reduce the time taken.
Reading assignment
- CLR: Section 15.3.
- CLR: Chapter 15, pages 350-351.
Exercises and review questions
- Questions on current lecture's material
- 15.3-3.
- Questions on next lecture's material
- (Post your solution on the discussion board) Give examples of two sequences of at least four elements each, and identify their longest common subsequence