Dynamic programming approach is an optimization approach that can solve the complex problem by dividing into
overlapping sub-problems and solve those sub-problems stage by stage to get the optimal solution of the problem. Even though
we have many problems solving approaches , dynamic programming is the approach the best to get the optimal solution of the
problem. In this paper, we would like to discuss about the use of dynamic programming approach and how it is different from
other problem solving techniques like divide and conquer, greedy method, branch and bound and backtracking. We discussed
the dynamic programming approach in detail and given some of the applications of dynamic programming where we can apply
this problem solving technique. Finally we discussed about the limitations of dynamic programming approach.