vlambda博客
学习文章列表

动态规划算法(DP) vs 深度优先算法(DFS)

1. 动态规划基本思想


一般来说,只要问题可以划分为规模更小的子问题,并且原问题的最优解中包含了子问题的最优解,则可以考虑用动态规划解决。动态规划的实质是分治思想和解决冗余。因此,动态规划是一种将问题实例分解为更小的/相似的子问题,并存储子问题的解,使得每个子问题只求解一次,最终获得原问题的答案,以解决最优化问题的算法策略。


2. 实例

DP:

动态规划算法(DP) vs 深度优先算法(DFS)

DFS:

动态规划算法(DP) vs 深度优先算法(DFS)


动态规划算法(DP) vs 深度优先算法(DFS)

DFS: