ডায়নামিক প্রোগ্রামিং (DP) overlapping subproblems এবং optimal substructure সহ সমস্যা সমাধান করে প্রতিটি সাবপ্রবলেম একবার গণনা করে এবং ফলাফল পুনঃব্যবহার করে। দুটি শৈলী হল memoization (top-down) এবং tabulation (bottom-up)।
ধারণা
নিরীহ recursion একই সাবপ্রবলেম exponentially পুনরায় গণনা করে। DP সেগুলি cache করে, exponential কাজকে polynomial এ পরিণত করে।
