$$ \newcommand{\floor}[1]{\left\lfloor{#1}\right\rfloor} \newcommand{\ceil}[1]{\left\lceil{#1}\right\rceil} \newcommand{\mod}{\,\mathrm{mod}\,} \renewcommand{\div}{\,\mathrm{div}\,} \newcommand{\metar}{\,\mathrm{m}} \newcommand{\cm}{\,\mathrm{cm}} \newcommand{\dm}{\,\mathrm{dm}} \newcommand{\litar}{\,\mathrm{l}} \newcommand{\km}{\,\mathrm{km}} \newcommand{\s}{\,\mathrm{s}} \newcommand{\h}{\,\mathrm{h}} \newcommand{\minut}{\,\mathrm{min}} \newcommand{\kmh}{\,\mathrm{\frac{km}{h}}} \newcommand{\ms}{\,\mathrm{\frac{m}{s}}} \newcommand{\mmin}{\,\mathrm{\frac{m}{min}}} \newcommand{\smin}{\,\mathrm{\frac{s}{min}}} $$
Uvod u algoritme / Dinamicko programiranje

Dinamicko programiranje

  • Dozvoljeno polaganje
  • Osnovni++
  • Nema
  • Milan Vugdelija
  • 9/3/2013

Dinamičko programiranje je nastalo kao način rešavanja jedne klase algoritamskih problema, u kojima se traži optimalno rešenje, tj. ono rešenje koje maksimizira ili minimizira neku zadatu veličinu. Kasnije se naziv preneo na širu klasu problema koji se rešavaju u osnovi istom idejom, a to je rešavanje manjih problema istog tipa i njihovo kombinovanje radi dobijanja rešenja polaznog, većeg problema.

Na početnom primeru prve lekcije je detaljno objašnjena ideja i uslovi pod kojima problemi mogu da se rešavaju ovom metodom. Zatim su dati jednostavni primeri na kojima može da se uvežbava postupak rešavanja.

U drugoj lekciji se nalazi još nekoliko odabranih primera, od kojih je svaki po nečemu karakterističan i pomaže da se stekne potrebna širina u sagledavanju problema sa manje očiglednim rešenjima.