ਡਾਇਨਾਮਿਕ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ (DP) overlapping subproblems ਅਤੇ optimal substructure ਦੇ ਨਾਲ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਹੱਲ ਕਰਦੀ ਹੈ, ਹਰੇਕ subproblem ਨੂੰ ਇੱਕ ਵਾਰ ਗਣਨਾ ਕਰਕੇ ਅਤੇ ਨਤੀਜੇ ਨੂੰ ਦੁਬਾਰਾ ਵਰਤ ਕੇ। ਦੋ ਸ਼ੈਲੀਆਂ memoization (top-down) ਅਤੇ tabulation (bottom-up) ਹਨ।
ਵਿਚਾਰ
ਭੋਲੀ recursion ਉਸੇ subproblems ਦੀ ਵਾਰ-ਵਾਰ ਗਣਨਾ ਕਰਦੀ ਹੈ। DP ਉਨ੍ਹਾਂ ਨੂੰ cache ਕਰਦਾ ਹੈ, exponential ਕੰਮ ਨੂੰ polynomial ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ।
