mf动态规划算法.docVIP

  • 2
  • 0
  • 约8.32千字
  • 约 10页
  • 2018-06-06 发布于河北
  • 举报
mf动态规划算法

动态规划一般也只能应用于有最优子结构的问题。最优子结构的意思是局部最优解能决定全局最优解 (对有些问题这个要求并不能完全满足,故有时需要引入一定的近似)。 简单地说,问题能够分解成子问题来解决。 ? 动态规划算法分以下4个步骤: 1.描述最优解的结构 2.递归定义最优解的值 3.按自底向上的方式计算最优解的值?? //此3步构成动态规划解的基础。 4.由计算出的结果构造一个最优解。?? //此步如果只要求计算最优解的值时,可省略。 ? 好,接下来,咱们讨论适合采用动态规划方法的最优化问题的俩个要素: 最优子结构性质,和子问题重叠性质。 ? 一、最优子结构。 如果问题的最优解所包含的子问题的解也是最优的,我们就称该问题具有最优子结构性质(即满足最优化原理)。 意思就是,总问题包含很多歌子问题,而这些子问题的解也是最优的。 二、重叠子问题。 子问题重叠性质是指在用递归算法自顶向下对问题进行求解时,每次产生的子问题并不总是新问题, 有些子问题会被重复计算多次。动态规划算法正是利用了这种子问题的重叠性质,对每一个子问题只计算一次, 然后将其计算结果保存在一个表格中,当再次需要计算已经计算过的子问题时,只是在表格中简单地查看一下结果, 从而获得较高的效率。 ? ok,咱们马上进入面试题第56题的求解,即运用经典的动态规划算法: 56.最长公共子序列。 题目:如果字符串一的所有字符按其在字符串

文档评论(0)

1亿VIP精品文档

相关文档