摊变冲秸痰嚼弥剁掣灰逗旱匣
第一章 单元测试
1、
一个问题的同一实例可以有不同的表示形式
A:错
B:对
答案: 对
2、
同一数学模型使用不同的数据结构会有不同的算法,有效性有很大差别。
A:错
B:对
答案: 对
3、
问题的两个要素是输入和实例。
A:对
B:错
答案: 错
4、
算法与程序的区别是()
A:确定性
B:输出
C:输入
D:有穷性
答案: 有穷性
5、
解决问题的基本步骤是()。(1)算法设计(2)算法实现(3)数学建模(4)算法分析(5)正确性证明
A:(3)(4)(1)(5)(2)
B:(1)(2)(3)(4)(5)
C:(3)(1)(5)(4)(2)
D:(3)(1)(4)(5)(2)
答案: (3)(1)(5)(4)(2)
6、
下面说法关于算法与问题的说法错误的是()。
A:证明算法不正确,需要证明对任意实例算法都不能正确处理。
B:如果一个算法能应用于问题的任意实例,并保证得到正确解答,称这个算法解答了该问题。
C:同一问题可能有几种不同的算法,解题思路和解题速度也会显著不同。
D:算法是一种计算方法,对问题的每个实例计算都能得到正确答案。
答案: 证明算法不正确,需要证明对任意实例算法都不能正确处理。
7、
下面关于程序和算法的说法正确的是()。
A:程序是算法用某种程序设计语言的具体实现。
B:算法的每一步骤必须要有确切的含义,必须是清楚的、无二义的。
C:算法是一个过程,计算机每次求解是针对问题的一个实例求解。
D:程序总是在有穷步的运算后终止。
答案: 程序是算法用某种程序设计语言的具体实现。;算法的每一步骤必须要有确切的含义,必须是清楚的、无二义的。;算法是一个过程,计算机每次求解是针对问题的一个实例求解。
8、
最大独立集问题和()问题等价。
A:最小顶点覆盖
B:区间调度问题
C:稳定匹配问题
D:最大团
答案: 最小顶点覆盖;最大团
9、
给定两张喜欢列表,稳定匹配问题的输出是( ) 。
A:最大匹配
B:没有不稳定配对
C:完美匹配
D:稳定匹配
答案: 最大匹配;没有不稳定配对;完美匹配;稳定匹配
10、
问题变换的目的有()。(1)复杂变简单 (2)未知变已知 (3)隐式变显式 (4)难解变易解 (5)以上都是。
A:(2)
B:(5)
C:(3)
D:(4)
E:(1)
答案: (5)
11、
按照霍纳法则,计算p(x) = anxn + an-1xn-1 +… + a1x1 + a0 的数量级为____ 。
A:logn
B:n
C:n^2
D:nlogn
答案: n
第二章 单元测试
1、
时间复杂度是指算法最坏情况下的运行时间。
A:错
B:对
答案: 对
2、
f(n)=3n3+7n2+4nlogn =O(n2)
A:对
B:错
答案: 错
3、
如果一个算法是多项式时间算法,该算法是有效的,是好算法。
A:错
B:对
答案: 对
4、
算法复杂度分析的两种基本方法为( )和( )。
A:平摊复杂度 平滑复杂度
B:结构化方法 面向对象方法
C:事后统计 事前分析
D:几何复杂度 平均复杂度
答案: 事后统计 事前分析
5、
下面程序的时间复杂度为()
x=1
for i=1 to n do
for j=1 to i do
for k=1 to j do
x++
A:O(nlogn)
B:O(n^3)
C:O(n)
D:O(n^2)
答案: O(n^3)
6、
对近似递增序列的线性表从小到大排序,使用哪种方法好?
A:归并排序
B:插入排序
C:堆排序
D:快速排序
答案: 插入排序
7、
顺序查找适合的数据结构是()
A:顺序存储
B:压缩存储
C:散列存储
D:链式存储
答案: 顺序存储;链式存储
8、
给定n个元素的数组A,n=10^3, 使用折半查找比使用顺序查找大约快___倍。
A:100
B:10
C:1000
D:10^(3/2)
答案: 100
9、
则f(n)的渐进性态f(n)=Ω( )
A:n
B:100
C:n^2
D:1
答案: 1
10、
f=O(g) 当且仅当 g =Ω (f)
A:对
B:错
答案: 对
第三章 单元测试
1、
0-1背包问题的枚举算法的时间复杂度为O(2n)
A:错
B:对
答案: 错
2、
增量构造法生成子集前需要对集合中元素从小到大排列。
A:对
B:错
答案: 对
3、
分块查找一般设分块的长度是n/2.
A:对
B:错
答案: 错
4、
枚举法适用于问题的小规模实例。
A:对
B:错
答案: 对
5、
便于实现集合操作的子集生成算法是()
A:位向量法
B:二进制法
C:增量构造法
答案: 二进制法
6、
从所有候选答案中去搜索正确的解,这是 ()算法。
A:递推
B:枚举
C:蛮力
答案: 枚举
7、
logn2=( )(logn+5)
A:o
B:O
C:θ
D:w
答案: θ
8、
0-1背包问题的枚举算法,如果在百万次每秒的计算机上运行,1年可以计算的问题规模估计是?
A:30
B:60
C:50
D:40
答案: 40
9、
分数拆分问题的枚举算法通过()方法进行了优化。
A:优化数据结构
B:减少枚举变量的值域
C:优化数学模型
D:减少枚举变量
答案: 减少枚举变量的值域;优化数学模型;减少枚举变量
10、
下面那些算法的时间复杂度为O()?
A:冒泡排序
B:顺序查找
C:折半插入排序
D:折半查找
E:插入排序
答案: 冒泡排序;折半插入排序;插入排序
11、
A公司处理器速度是B公司的100倍。对于复杂度为n^2的算法,B公司的计算机可以在1小时内处理规模为n的问题,A公司的计算机在1小时能处理的问题规模是()
A:10n
B:100n
C:n^2
D:n
答案: 10n
12、
冒泡排序的时间复杂度为Ω(n^2)
A:错
B:对
答案: 错
第四章 单元测试
1、
贪心算法总能找到可行解,但未必是最优解。
A:错
B:对
答案: 对
2、
贪心选择通过一步步选择得到问题的解,每一步的局部最优解都构成全局最优解的一部分。
A:错
B:对
答案: 对
3、
问题的最优子结构性质是该问题可用贪心算法或动态规划算法求解的关键特征。
A:错
B:对
答案: 对
4、
Kruskal算法的贪婪准则是每一次选取不构成环路的最小边。
A:错
B:对
答案: 对
5、
贪心算法基本要素有( )和最优子结构性质。
A:重叠子问题性质
B:分解合并性质
C:独立子问题性质
D:贪心选择性质
答案: 贪心选择性质
6、
下面不是证明贪心算法证明方法的有()。
A:界
B:优化
C:领先
D:交换论证
答案: 优化
7、
最小生成树问题可以使用的算法有( )
A:Kruskal
B:Solim
C:Prim
D:Dijkstra
答案: Kruskal;Solim;Prim
8、
区间问题包含()
A:区间划分
B:区间选点
C:区间覆盖
D:区间调度
答案: 区间划分;区间选点;区间覆盖;区间调度
9、
负权的单源最短路问题可以使用Dijkstra算法求解
A:对
B:错
答案: 错
10、
设C是一个环, f 是C中的最大边,那么最小生成树中肯定包含f。
A:对
B:错
答案: 错
第五章 单元测试
1、
正推是从小规模的问题推解出大规模间题的一种方法。
A:对
B:错
答案: 对
2、
一般来说,递归的效率高于递推。
A:错
B:对
答案: 错
3、
从大规模问题逐步化为小规模问题的算法是()
A:递归
B:倒推
C:正推
D:迭代
答案: 递归
4、
求解高阶递推方程一般使用()迭代方法
A:差消迭代
B:直接迭代
C:换元迭代
答案: 差消迭代
5、
递归函数的要素是()
A:迭代
B:输入
C:递归方程
D:边界条件
答案: 递归方程;边界条件
6、
递归变为非递归的方法有()
A:递推
B:尾递归
C:循环
D:模拟栈
答案: 递推;尾递归;模拟栈
7、
T(n) = T(n-1) + n ,T(1)=1,则 T(n) =()
B:Ω(n^2)
C:n(n+1)/2
D:θ(n^2)
答案: O(n^2)
;Ω(n^2);n(n+1)/2;θ(n^2)
8、
递归一般用于解决问题有()
A:迭代问题
B:数据的结构形式是按递归定义的
C:数据的定义是按递归定义的
D:问题解法按递归实现
答案: 数据的结构形式是按递归定义的;数据的定义是按递归定义的;问题解法按递归实现
9、
主方法可以求解满足T(n)=aT(n/b) + f (n) 形式的递推方程, 则下列关于方程中的约束中不准确的是?设
A:对于系数a,必须满足a>=1
B:若对于常数e>0,f(n)=O(y),则T(n)=Θ(x)
C:对于系数b,必须满足b>1
D:若f(n)=O(x),则T(n)=Θ(xlogn)
答案: 若f(n)=O(x),则T(n)=Θ(xlogn)
10、
,则 T(n) =()
A:Ω(n^3)
B:O(n)
C:Θ(n^2)
D:O(nlogn)
答案: Θ(n^2)
11、
循环用于重复性的工作。循环体的特点是:“以不变应万变”。
A:对
B:错
答案: 对
第六章 单元测试
1、
分治法分解的子问题与原问题形式相同。
A:对
B:错
答案: 对
2、
N个元素排序的时间复杂度不可能是线性时间。
A:对
B:错
答案: 错
3、
三分法的判定树是三叉树。
A:对
B:错
答案: 对
4、
减治法减一个常量就是每次迭代减去一个相同的常数因子(一般为2)
A:对
B:错
答案: 错
5、
设有5000个无序的元素,希望用最快的速度挑选出其中前10个最大的元素,最好选用( )法。
A:合并排序
B:冒泡排序
C:基数排序
D:快速排序
答案: 冒泡排序
6、
堆排序的时间复杂度是O()。
A:O(nlogn)
B:O(2n)
C:O(n)
D:O(n2)
答案: O(nlogn)
7、
改进分治算法的方法有( )和改进划分的对称性。
A:备忘录
B:拟阵原理
C:减少子问题数
D:加速原理
答案: 减少子问题数
8、
通过减少子问题个数,降低分治算法时间复杂度的有()
A:最接近点对
B:Strassen矩阵乘法
C:大整数乘法
D:线性时间选择
答案: Strassen矩阵乘法;大整数乘法
9、
分治法在每一层递归上有三个步骤()
A:解决
B:合并
C:分解
D:选择
答案: 解决
;合并;分解
10、
使用分治法求解不需要满足的条件是( )。
A:子问题必须是一样的
B:子问题不能够重复
C:原问题和子问题使用相同的方法求解
D:子问题的解可以合并
答案: 子问题必须是一样的
11、
最小堆中每个元素调整的次数不超过树高。
A:错
B:对
答案: 对
12、
分治算法的思想是将难以直接解决的大问题,分割成一些规模较小的子问题,以便各个击破,分而治之。
A:对
B:错
答案: 对
13、
任何排序算法至少需要O(n log n)次比较。
A:对
B:错
答案: 错
14、
找n个元素的中位数的分治算法的时间复杂度为O().
A:n
B:nlogn
C:logn
D:n^2
答案: n
上方为免费预览版答案,如需购买完整答案,请点击下方红字
点关注,不迷路,微信扫一扫下方二维码
关注我们的公众号:阿布查查 随时查看答案,网课轻松过
为了方便下次阅读,建议在浏览器添加书签收藏本网页
电脑浏览器添加/查看书签方法
1.按键盘的ctrl键+D键,收藏本页面
2.下次如何查看收藏的网页?
点击浏览器右上角-【工具】或者【收藏夹】查看收藏的网页
手机浏览器添加/查看书签方法
一、百度APP添加/查看书签方法
1.点击底部五角星收藏本网页
2.下次如何查看收藏的网页?
点击右上角【┇】-再点击【收藏中心】查看
二、其他手机浏览器添加/查看书签方法
1.点击【设置】-【添加书签】收藏本网页
2.下次如何查看收藏的网页?
点击【设置】-【书签/历史】查看收藏的网页
椽弥奶搏拢熔写杰希绊凭冬习