What is dynamic programming?

14

What is dynamic programming?

  

Dynamic programming NOT is dynamic typing

  • What are its features?
  • What are its advantages and disadvantages?
asked by anonymous 09.12.2015 / 14:26

2 answers

8

When you start working with more than one system, you can run a series of conflicts due to the use of recursive algorithms, which re-examine the same problem many times, and in this situation, generating new conflicts and bugs.

To solve these problems, there is Dynamic Programming , which is a methodology for constructing algorithms that solve original system problems, so that it optimizes and makes use of combinatorial analysis, in order to prevent performance drop and unnecessary recalculations to meet subsystems that can override the original system, generating new subproblems.

That is, when you start programming, the ideal is to think of abstracting as much as you can so that there are no problems in the future, this is a dynamic thinking.

    
09.12.2015 / 17:06
4
This paradigm, or algorithm design strategy, is a kind of intelligent iterative translation of recursion and can be loosely defined as a recursion with the support of a table.

"Many efficient algorithms follow the dynamic programming paradigm. p>

As in a recursive algorithm, each instance of the problem is solved from the solution of smaller instances, or rather sub-instances of the original instance. The distinguishing feature of dynamic programming is the table that stores the solutions of the various sub-instances. The time consumption of the algorithm is generally proportional to the size of the table. "

Source: link

    
09.12.2015 / 16:48