动态规划算法是一种解决复杂问题的有效方法,它通过逐步分解复杂问题,把原问题分解为一系列子问题,然后求解子问题并组合子问题的解来求解原问题。本质上,它遍历了待求解问题的整个解空间,但是会有效地避免重复计算,从而降低解决复杂问题的时间复杂度。