一. 选择题
1.Hanoi塔问题如下图所示。现要求将塔座A上的的所有圆盘移到塔座B上,并仍按同样顺序叠置。移动圆盘时遵守Hanoi塔问题的移动规则。由此设计出解Hanoi塔问题的递归算法正确的为:(B)
4. 算法分析中,记号O表示(B ), 记号 表示(A ), 记号 表示(D)。
A.渐进下界
B.渐进上界
C.非紧上界
D.紧渐进界
E.非紧下界
- 以下关于渐进记号的性质是正确的有:( A)
A.
B.
C. O(f(n))+O(g(n)) = O(min{f(n),g(n)})
D.
4 程序块( A)是回溯法中遍历排列树的算法框架程序。
A.
void backtrack (int t)
{
if (t>n) output(x);
else
for (int i=t;i<=n;i++) {
swap(x[t], x[i]);
if (legal(t)) backtrack(t+1);
swap(x[t], x[i]);
}
}
B.
void backtrack (int t)
{
if (t>n) output(x);
else
for (int i=0;i<=1;i++) {
x[t]=i;
if (legal(t)) backtrack(t+1);
}
}
C
void backtrack (int t)
{
if (t>n) output(x);
else
for (int i=0;i<=1;i++) {
x[t]=i;
if (legal(t)) backtrack(t-1);
}
}
D
void backtrack (int t)
{
if (t>n) output(x);
else
for (int i=t;i<=n;i++) {
swap(x[t], x[i]);
if (legal(t)) backtrack(t+1);
}
}
5 动态规划算法的基本要素为( C)
A. 最优子结构性质与贪心选择性质
B.重叠子问题性质与贪心选择性质
C.最优子结构性质与重叠子问题性质
D. 预排序与递归调用
6 从活结点表中选择下一个扩展结点的不同方式将导致不同的分支限界法,以下除( C)之外都是最常见的方式。
A.队列式分支限界法
B.优先队列式分支限界法
C.栈式分支限界法
D.FIFO 分支限界法
7下面关于矩阵乘法的 Stranssen 算法,描述错误的是(D )。
A. 采用了分治法的思想
B. 时间复杂度低于 O(n3)
C. 利用了分块矩阵乘法
D. 对所有可乘的矩阵都适用
8、 分支限界法与回溯法都是在问题的解空间树 T 上搜索问题的解,二者(B)。
A.求解目标不同,搜索方式相同
B.求解目标不同,搜索方式也不同
C.求解目标相同,搜索方式不同
D.求解目标相同,搜索方式也相同
9、回溯法的效率不依赖于以下哪一个因素?( C)
A. 产生x[k]的时间;
B. 满足显约束的x[k]值的个数;
C. 问题的解空间的形式;
D. 计算上界函数bound的时间;
E. 满足约束函数和上界函数约束的所有x[k]的个数。
F. 计算约束函数constraint的时间;