一、动态规划算法的理解

  动态规划算法与分治法类似,其基本思想也是将待求解的问题分解成若干个子问题,先求子问题,然后通过子问题的解得到原问题的解。与分治法不相同的是,适合于动态规划法求解的问题,经分解的得到的子问题往往不是相互独立的,具有重叠子问题的性质。动态规划算法适用于解最优化问题:

  1. 找出最优解的性质,并刻画其结构特征。
  2. 递归地定义最优值。
  3. 以自低向上的方式计算出最优值。
  4. 根据计算得到的最优值,构造最优解。

  但是第一部往往是最难的,现在我还不能很好地找出找出最优解的性质,写出递归方程式。

二、列出编程题1、2的递归方程

1.单调递增最长子序列

如图:

此题我和我的搭档都没有找到较好的递归方法,不知道改如何使用动态规划的方法去解题,只好用了列举法。

2.租用游艇问题 

三、说明结对编程情况

  在编程时我们还是各自完成,在遇到不会做的或者理解不了的问题才相互讨论,这样可以保证双方都能对问题有独立思考的过程。作业完成后,我们会互相交流解题思路并看看对方的代码,以优化自己的代码。

 

posted on 2018-11-11 20:26  Lucy1234567  阅读(123)  评论(0编辑  收藏  举报