【作业】算法第3章作业

問題1 你对动态规划算法的理解(2分)

动态规划算法的核心是记住已经求过的解。记住求解的方法有两种:①自顶向下的备忘录法,②自底向上。

动态规划算法是比较难掌握的一类算法,主要难点在于理论部分的设计,设计的步骤如下:

①分析最优解的性质,并刻画其结构特征;②递归地定义最优解;③以自底向上或自顶向下的方法计算出最优值;④根据计算最优值时得到的信息,构造问题的最优解。

最重要的是确定动态规划的三要素,即:①问题的阶段,②每个问题的状态,③从前一个阶段转化到后一个阶段的递推关系。

 

 

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

编程题1:设以i位结尾的单调递增最长子序列的长度为dp[i],则有:dp[i] = max { dp[i], dp[j]+1 } (i<j)。

编程题2:设dp[1][i]为从1到i租用游艇所需的最小费用,则有:dp[1][i] = max { dp[1][i], dp[1][z]+dp[z][i] } (1<z<i)

 

問題3 说明结对编程情况(2分)

本次结对编程效果较好,两方都有提出相对有建设性的程序设计方式。

且通过使用网站paiza.io(需翻墙访问)的代码实时共同编辑功能,可以实现小组两位成员在不同的地方结对编程。

转载于:https://www.cnblogs.com/Akatsuki-Sanjou/p/9863477.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值