0009算法笔记——【动态规划】动态规划与斐波那契数列问题,最短路径问题概论.docxVIP

  • 4
  • 0
  • 约6.73千字
  • 约 11页
  • 2021-01-17 发布于天津
  • 举报

0009算法笔记——【动态规划】动态规划与斐波那契数列问题,最短路径问题概论.docx

1、动态规划算法: 动态规划:通过把原问题分解为相对简单的子问题的方式求解复杂 问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问 题。 基本思想:若要解一个给定问题,我们需要解其不同部分(即子问 题),再合并子问题的解以得出原问题的解。通常许多子问题非常相 似,为此动态规划法试图仅仅解决每个子问题一次,从而减少计算量: 一旦某个给定子问题的解已经算出,则将其记忆化存储,以便下次需要 同一个子问题解之时直接查表。这种做法在重复子问题的数目关于输 入的规模呈指数增长时特别有用。 与分治法区別:动态规划算法与分治法类似,都使用了将问题实例 归纳为更小的、相似的子问题,并通过求解子问题产生一个全局最优值 的思路,但动态规划不是分治法:关键在于分解出来的各个子问题的性 质不同。分治法要求齐个子问题是独立的(即不包含公共的子问题),因此一旦递归 地求出各个子问题的解后,便可自下而上地将子问题的解合并成原问题 的解。如果各子问题是不独立的,那么分治法就要做许多不必要的工作, 重复地解公共的子问题。动态规划与分治法的不同之处在于动态规划允 许这些子问题不独立(即各子问题可包含公共的子问题),它对每个子问 题只解一次,并将结果保存起来,避免每次碰到时都要重复计算。 相关术语: 阶段:把所给求解问题的过程恰当地分成若于个相互联系的阶 段,以便于求解,过程不同,阶段数就可能不 同,描述阶段

文档评论(0)

1亿VIP精品文档

相关文档