ડાયનેમિક પ્રોગ્રામિંગ (DP) એ સમસ્યાઓને અતિક્રમણશીલ સબપ્રોબ્લેમ્સ અને શ્રેષ્ઠ સબસ્ટ્રક્ચર સાથે હલ કરે છે દરેક સબપ્રોબ્લેમને એક વાર ગણતરી કરીને અને પરિણામ પુનરાবૃત્તિ કરીને. બે શૈલીઓ મેમોરાઇઝેશન (top-down) અને ટેબ્યુલેશન (bottom-up) છે.
ધારણા
નિરાધાર પુનરાવર્તન સમાન સબપ્રોબ્લેમ્સને ઘાતાંકીય રીતે ફરીથી ગણતરી કરે છે. DP તેમને ક્યાશ કરે છે, ઘાતાંકીય કામને બહુપદીમાં ઘટાડે છે.
