डायनामिक प्रोग्रामिंग (DP) ओव्हरलॅपिंग सबप्रॉब्लेम्स आणि ऑप्टिमल सबस्ट्रक्चर असलेल्या समस्या सोडवते, प्रत्येक सबप्रॉब्लेम एकदा मोजून आणि परिणाम पुन्हा वापरून. दोन शैली आहेत memoization (top-down) आणि tabulation (bottom-up).
कल्पना
निरपेक्ष रिकर्सन समान सबप्रॉब्लेम्सची घातांकीय पुनरावृत्ती करते. DP त्यांना कॅश करते, घातांकीय कामकर बहुपदीय बनवते.
