"Dynamic programming is a commonly studied concept in Computer Science. It is not an algorithm. Rather it is an algorithmic technique to solve optimization and counting problems. Dynamic programming was introduced by American mathematician Richard Bellman. The name 'dynamic' has nothing to do with the actual process. There is nothing dynamic in dynamic programming! It is just a name Richard Bellman gave. So no need to get confused by the name."