1
下面不是动态规划算法特点的是()
A.自底向上计算
B.最优子结构
C.从大到小计算
D.重叠子问题
正确答案:C
2
备忘录与递归算法的相同点是()
A.递推关系
B.记录已解决子问题的解
C.子问题重叠
D.最优子结构
正确答案:A、D
3
动态规划算法本质上是空间换时间的算法,每一个子问题只解一次,存储子问题结果,避免重复计算。
A.√
B.×
正确答案:A
4
备忘录方法为每一子问题建立记录项,初始化时,存入特殊值。求解时遇到特殊值时计算并保存在相应记录项中,下次遇到时直接查表即可。
A.√
B.×
正确答案:A
5
最优子结构是问题能用动态规划算法求解的前提。
A.√
B.×
正确答案:A
6
通常不同的子问题个数随问题规模呈多项式增长。动态规划算法对于每个子问题求解一次,并保存子问题结果,因此只需要多项式时间。
A.√
B.×
正确答案:A
1
确定第 i 阶段的收益函数和从第1阶段出发到第i 阶段末所获得收益的最优值,建立动态规划基本方程。这种方法是()
A.正推
B.反推
C.递归
D.枚举
正确答案:A
2
动态规划定义递推关系的方法有()
A.正推
B.反推
C.枚举
D.迭代
正确答案:A、B
3
动态规划是“带决策的多阶段、多方位的递推算法”
A.√
B.×
正确答案:A
4
给定n层数字三角形,动态规划计算的时间为O(n^3)
A.√
B.×
正确答案:B
5
状态转移方程是状态间的递推关系,也是子问题间的递推关系。状态变量取值不同对应不同问题状态,也对应不同子问题。
A.√
B.×
正确答案:A
1
OPT[i][w]=max{OPT[i-1][w],OPT[i][w-w[i]]+v[i]},这是()问题的递推关系。
A.0-1背包
B.恰好装满的0-1背包
C.完全0-1背包
D.多重0-1背包
正确答案:C
2
OPT[i][w]=max{OPT[i-1][w],OPT[i-1][w-kw[i]] +kv[i],0<=k<=n[i]}。这是()问题的递推关系。
A.0/1背包
B.恰好装满的0/1背包
C.完全0/1背包
D.多重0/1背包
正确答案:D
3
0-1背包问题的动态规划算法的时间复杂度是Q(n W),是多项式时间算法.
A.√
B.×
正确答案:B
4
恰好装满的0-1背包问题,初始化时除了M[0]为0,其它M[1…C]均设为-∞,可以保证最终得到的M[C]是一种恰好装满背包的最优解。
A.√
B.×
正确答案:A
1
动态规划算法的计算矩阵连乘问题的时间为O()
A.nlogn
B.n(logn)^2
C.n^2
D.n^3
正确答案:D
2
区间动态规划的计算次序是()
A.先小区间后大区间
B.先大区间后小区间
C.先小规模后大规模
D.先大规模后小规模
正确答案:A、C
3
区间动归使用链长,先计算小区间,再递增计算大区间。
A.√
B.×
正确答案:A
4
矩阵连乘的计算次序可以用完全加括号的方式来确定。
A.√
B.×
正确答案:A
5
矩阵连乘问题的不同子问题个数为 O(n^2)
A.√
B.×
正确答案:A
1
拓扑排序的时间复杂度是O( )
A.n^3
B.n^2
C.mn
D.m+n
正确答案:D
2
动态规划计算最长不降子序列的时间是O()
A.n^3
B.n^2
C.nlogn
D.n^2logn
正确答案:B
3
拓扑排序的结果是一个顶点序列,顶点间存在先序关系。
A.√
B.×
正确答案:A
4
嵌套矩形问题本质上求DAG上的最长路径,但没有给出起点和终点。
A.√
B.×
正确答案:A
5
反推求解嵌套矩形问题,很难打印字典序最小的方案。
A.√
B.×
正确答案:B
6
硬币问题本质上是DAG上的最长路径和最短路,且给出起点和终点。
A.√
B.×
正确答案:A
7
DAG图最长路的正推关系是 L(j) = 1 + max {L(i) : (i, j) 为边}
A.√
B.×
正确答案:A
1
Floyd算法的复杂度为O()
A.n^2
B.mn
C.n^3
D.mlogn
正确答案:C
2
如果图中存在负环,那么从s到t没有最短路。
A.√
B.×
正确答案:A
3
Bellman算法的计算时间为Q(mn), 空间为 Q(n^2),可以求最短路,也可求最长路。
A.√
B.×
正确答案:A
4
SPFA是Bellman-Ford算法的一种队列实现,减少了不必要的冗余计算。
A.√
B.×
正确答案:A
5
Floyd算法可以构造无向或有向加权图(包含长度为负的回路)的完全最短路径
A.√
B.×
正确答案:B
6
SPFA算法计算时,如果一个顶点入队列的次数超过n,则存在负权回路。
A.√
B.×
正确答案:A
7
动态规划计算树上的最大独立集时,从叶子开始,先计算子树,逐步计算到根节点。
A.√
B.×
正确答案:A
1
LCS问题的不同子问题个数为 O()
A.mn
B.m
C.n
D.m+n
正确答案:A
2
序列 . 设LCS(X, Y)=。若则,且是和的最长公共子序列。
A.√
B.×
正确答案:A
3
给定串 , 一个比对M是有序对 的集合,每一项至多参与一个配对,并且允许交叉。
A.√
B.×
正确答案:B
4
动态规划方程中子问题个数为nt,依赖的子问题个数为ne, 则算法的时间复杂度为n^(t+e)
A.√
B.×
正确答案:A
5
序列的编辑距离是间隔的惩罚值和错配的惩罚值之和。
A.√
B.×
正确答案:A
6
动态规划方程M[i,j]=min(M[k]+wk), 1≤i≤k≤j≤n, 则算法的时间复杂度为n^2
A.√
B.×
正确答案:B