• Facebook
  • Jaunumi
  • Uzdevumi
  • Iesūtījumi
  • Teorija
  • Sacensības
  • Reitings
  • Mācies JavaScript
  1. CleverCode
CleverCode
  • Sveiks ciemiņ
  • Facebook
  • Jaunumi
  • Uzdevumi
  • Iesūtījumi
  • Teorija
  • Sacensības
  • Reitings
  • Mācies JavaScript

Dinamiskās programmēšanas problēmas

Dinamiskā programmēšana jeb DP ir veids, kā risināt problēmas. Tas nav viens konkrēts algoritms. DP algoritmi pat savā starpā diezgan atšķiras, bet tiem ir dažas kopīgas iezīmes:

  1. Eksistē vairāki stāvokļi, kas var apzīmēt apakšproblēmu.
  2. Eksistē sākumstāvoklis, kuru par pamatu izmanto, lai risinātu apakšproblēmas.
  3. Katru apakšproblēmu risina balstoties uz kādu jau iepriekš atrisinātu apakšproblēmu vai apakšproblēmām.

Var redzēt, ka, atšķirībā no alkatīgajām metodēm, kuras risinot, apakšproblēma tika risināta, ņemot tajā mirklī šķietami labāko rezultātu, DP balstās uz jau iepriekš izrēķinātiem rezultātiem. Piemēram, Fibonači rinda tiek risināta ar DP palīdzību, jo katrs elements nevis tiek saskaitīts no sākuma, bet tiek izveidots no iepriekš izrēķinātajiem rezultātiem.

Dinamiskās programmēšanas pieejas ir aptveramas, bet tās var slēpties zem daudzām un dažādām problēmām. Ja grafu teoriju var iemācīties un kādu daļu saskatīt bez pieredzes, tad DP problēmas pārsvarā var tikai ietrenēt un spēju tās saskatīt var attīstīt ar daudzu uzdevumu atrisināšanas palīdzību. Zemāk ir pievienotas saites ar informāciju par dažādiem DP paveidiem un TopCoder foruma raksts par uzdevumiem, kuru risinājumi ir DP.

Vairāk informācija Vairāk informācija

© 2025 CleverCode
Par mums | Palīdzība | Vērtēšanas sistēma
Informējam, ka portālā tiek izmantotas sīkdatnes (angļu val. "cookies"). Turpinot lietot šo portālu, Jūs piekrītat, ka mēs uzkrāsim un izmantosim sīkdatnes Jūsu ierīcē.
Uzzināt vairāk