Dynamic Programming(for Beginner's)

AN EASY WAY TO UNDERSTAND DYNAMMIC PROGRAMMING

hey folks , dynamic programming is one of the most hard topic to learn as a beginner when i try to learn dynamic programming i also felt the same(i am still learning this). there are few tips that make dynamic programming easy for the beginner's.Dynamic programming also know as DP as short hand in computer programming

WHAT IS DYNAMIC PROGRAMMING

"Dynamic Programming is a technique in computer programming that helps to efficiently solve a class of problems that have overlapping subproblems and optimal substructure property." according to google.

but according to my experience and learning of dp , define of dp should be

"dynamic programming is all about simplified the process of recursion or dp is all about optimization of recursion".

dp_meme.jpeg

  1. if a problem contain maximum or minimum type of phrases so dp can be apply
  2. when a problem talk's about optimization then there is a high chance dp can be apply
  3. when there are 2 or more recursion calls in the problem dp can be applied.

SPECIAL TIPS FOR BEGINNER'S

  1. dp can never be applied to a recursion problem when there is only one recursion call.
  2. when beginner see a recursion problem they try to solve the recursion problem using dp one need to understand that not all problem of recursion can be solve using dp in some problem recurrsion sol is the best approach.