I am really struggling with dynamic programming. Everytime i see an explanation for an algorithm it seems very logic but when i try to come up with one myself i do not know where to start.
The steps i follow are usually:
- try to find trivial cases
- try to find optimal subproblems
- try to build the recursion tree and see what overlaps
So my my questions are:
- How important is mastering dynamic programming in a computer science career?
- Any good resources for learning dynamic programming?(I currently use “Introduction to algorithms 3rd edition”)