算法作业——第3章 动态规划


第3章 动态规划 习题

【+】阅读、掌握课本经典范例代码的实现:(1)矩阵连乘问题;(2)最长公共子序列;(3)最大子段和;(4)凸多边形最优三角剖分;(5)背包问题。

【CH3 - 1】课本.算法分析题3 3-1。

【CH3 - 2】课本.算法分析题3 3-3。(提示:考虑背包问题)

【CH3 - 3】

  1. 下列算法中通常以自底向上的方式求解最优解的是( )。
    A.备忘录法 B.动态规划法 C.贪心法 D.回溯法

  2. 备忘录方法是( )算法的变形。
    A.分治法 B.回溯法 C.贪心法 D.动态规划法

  3. 下列是动态规划算法基本要素的是( )。
    A.定义最优解 B.构造最优解 C.算出最优解 D.子问题重叠性质

  4. 一个问题可用动态规划算法或贪心算法求解的关键特征是问题的( )。
    A.贪心选择性质 B.重叠子问题 C.最优子结构性质 D.定义最优解

【CH3 - 4】简述动态规划法的基本思路。

【CH3 - 5】简述动态规划法与贪心法的异同。

【CH3 - 6】下列算法中哪些属于动态规划算法?
(1)顺序查找算法
(2)直接插入排序算法
(3)简单选择排序算法
(4)二路归并排序算法

【CH3 - 7】某个问题对应的递归模型如下:
f(1)=1
f(2)=2
f(n)=f(n-1)+f(n-2)+…+f(1)+1 当 n>2 时

可以采用如下递归算法求解:

long f(int n)
{
if (n == 1) return 1;
if (n == 2) return 2;
long sum = 1;
for (int i = 1; i <= n - 1; i++)
sum += f(i);
return sum;
}

但其中存在大量的重复计算,请采用备忘录方法求解。

*【CH3 - 8】一个机器人只能向下和向右移动,每次只能移动一步,设计一个算法求它从
(0,0)移动到(m,n)有多少条路径。

image
image

image

image


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM