Dinamično programiranje
Iz E-študij, proste zakladnice študentskega znanja
Dinamično programiranje je pristop k reševanju problemov, kjer problem razbijemo na več enostavnejših podproblemov, ki pa so med seboj lahko odvisni.
Problem rešujemo od spodaj navzgor, tako da iz rešitev enostavnih podproblemov sestavljamo rešitev težjih problemov. Rešitve enostavnejših problemov shranjujemo in jih kasneje uporabimo pri sestavljanju kompleksnejših problemov.
Tipični primer, ki se ga lotevamo po principu dinamičnega programiranja, je iskanje najcenejših poti v grafih.