Dynamic Programming
Dynamic Programming is a valuable skillset a programmer can become good at. One can use it not only in pure algorithmic problems but also in active development of softwares in day to day business
As the problems get trickier in this theme,
- at one level recursive equation formulation becomes more complicated
- at another level more often than not, once we figure out its about dynamic programming, it is complicated to represent a particular state efficiently in the complete scenarioThe basic notion is same that we can solve a bigger problem by solving smaller sub problems and these bigger problems have overlapping smaller sub problems, the solution of these bigger problems can be combined efficiently to find the solution for the complete problem