Question:
What is dynamic programming?
Dynamic programming is NOT dynamic typing
- What are its characteristics?
- What are its advantages and disadvantages?
Answer:
When you start working with more than one system, you can run into 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, in a way that optimizes and makes use of combinatorial analysis, in order to prevent performance drop and unnecessary recalculations to serve subsystems that may overwhelm the original system, generating new sub-problems.
That is, when you start programming, the ideal is to think about abstracting as much as possible so that no problems occur in the future, this is dynamic thinking.