算法第三章作业

1. 我对动态规划算法的理解(2分)

1.1 基本思想

  与分治法相似,其基本思想是将待求解问题分解成若干个子问题,先求解子问题,再结合这些子问题的解得到原问题的解。

  但是它们也有很大的不同之处,即适合用动态求规划求解的问题经分解得到的子问题往往不是相互独立的,如果用分治法求解,有些子问题会被重复计算多次,而动态规划则可以使用一个表来记录所有已解决的子问题的答案。

 

1.2 设计步骤

  动态规划法适用于最优化问题,通常可按以下4个步骤设计:

  • 找出最优解的性质,并刻画其结构特征
  • 递归地定义最优值
  • 以自底向上的方式计算最优值
  • 根据计算最优值得到的信息,构造最优解

 

1.3 使用动态规划技术的问题特征

  • 最优子结构性质:当一个问题的最优解包含了其子问题的最优解时,我们说这个问题具有最优子结构
  • 重叠子问题性质:在问题的求解过程中,很多子问题的解会被多次使用

 

1.4 学习之后的感想

  课堂上学习的时候觉得老师讲的很清楚,解题的思想很容易被理解,题目的代码也能看明白,但是一旦脱离书本和老师的指导去独立解题,有时候又会感觉无从下手,即使能够写出递归方程,但是代码的实现总是不能达到预期的效果,我觉得这可能还是我题目做少了的缘故,在以后要注意增强自己的实践动手能力,同时要更深入地去理解几种经典例题的解题思想,能做到即使有稍微的改动,也能解决问题。

 

2. 分别列出编程题1、2的递归方程(2分)

 

 

3. 说明结对编程情况(1分)

  两个人之间的配合越来越好了,可以互相弥补对方的不足,想到对方所遗漏的地方。同时不仅在课堂上可以相互讨论,即使在课下也会互相请教问题,学习生活中有了一个很好的帮手。

posted @ 2019-11-01 19:24  WWYlaowu  阅读(147)  评论(0)    收藏  举报