Dynamische Programmierung löst Probleme mit überlappenden Teilproblemen und optimaler Teilstruktur, indem Teilergebnisse gespeichert werden.
Typisch: Rekurrenz formulieren, Tabelle füllen, Ergebnis ablesen.