第一章 单元测试

1、判断题:
程序运行结果往往与输入相关,所以程序可以不满足确定性( )
选项:
A:对
B:错
答案: 【

2、多选题:
有关算法分析的事后统计法正确的是( )。
选项:
A:从理论上讲,在各种软硬件环境下进行算法测试,得到的资源耗费都是一样的。
B:测试的结果与程序的编译和运行环境有关
C:结果与测试的样本数据有关
D:结果是面向机器,面向程序员,面向语言的
答案: 【测试的结果与程序的编译和运行环境有关;
结果与测试的样本数据有关;
结果是面向机器,面向程序员,面向语言的

3、多选题:
下面哪些内容是算法设计之前要完成的内容? ( )
选项:
A:确定合适的数据结构
B:使用何种计算机语言设计程序
C:是求精确解还是近似解
D:证明算法的正确性。
答案: 【确定合适的数据结构;
是求精确解还是近似解

4、单选题:
函数10logn3+5logn2的渐近表达式为( ):
选项:
A:O(logn2)
B:O(logn3)
C:O(nlogn)
D:O(logn)
答案: 【O(logn)

5、单选题:
下列函数根据渐近阶从低到高顺序是( )
选项:
A:n1/2 < logn <2n <n3 < n! < 3n
B:logn < n1/2 <2n <n3 <3n <n!
C:n1/2 < logn <2n <n3 <3n <n!
D:logn <n1/2<2n <n3 < n! < 3n
答案: 【logn < n1/2 <2n <n3 <3n <n!

6、判断题:
研究NPC 问题的意义: 一旦某个NPC问题找到了多项式时间复杂性的算法,那么所有的NP问题都找到了多项式时间算法。( )
选项:
A:错
B:对
答案: 【

第二章 单元测试

1、单选题:
直接或间接的调用自身的算法称为( )。
选项:
A:动态规划算法
B:递归算法
C:贪心算法
D:迭代算法
答案: 【递归算法

2、单选题:
Hanoi塔问题如下图所示。现要求将塔座A上的的所有圆盘移到塔座B上,并仍按同样顺序叠置。移动圆盘时遵守Hanoi塔问题的移动规则。由此设计出解Hanoi塔问题的递归算法正确的为:( )
选项:
A:

B:

C:

D:

答案: 【

3、单选题:
分治法的设计思想是将一个难以直接解决的大问题分割成规模较小的子问题分别解决子问题最后将子问题的解组合起来形成原问题的解。这要求原问题和子问题( )。
选项:
A:问题规模不同,问题性质不同
B:问题规模不同,问题性质相同
C:问题规模相同,问题性质不同
D:问题规模相同,问题性质相同
答案: 【问题规模不同,问题性质相同

4、单选题:
利用二分搜索,最坏情况下的计算时间复杂性为( )。
选项:
A:O (logn)
B:O(n)
C:O (n2)
D:O (2n)
答案: 【O (logn)

5、单选题:
二分搜索算法只适用( )存储结构。
选项:
A:任意顺序
B:栈
C:堆
D:顺序
答案: 【顺序

6、单选题:
使用二分搜索算法在1000个有序元素表中搜索一个特定元素,在最坏情况下,搜索总共需要比较的次数为( )。
选项:
A:11
B:500
C:1000
D:10
答案: 【10

7、单选题:
线性时间选择的时间复杂度为( )。
选项:
A:O(logn)
B:O(n2)
C:O (nlogn)
D:O(n)
答案: 【O(n)

8、单选题:
利用合并排序,其辅助空间为( ):
选项:
A:O(n)
B:O(logn)
C:O(nlogn)
D:O(n2)
答案: 【O(n)

9、单选题:
利用快速排序,对数的序列{16, 27, 13, 2, 15,38},选择基准16,进行一次划分,结果为( ):
选项:
A:{13, 2, 15} 16 {27, 38}
B:{15, 13, 2} 16 {27, 38}
C:{13, 2, 15} 16 {38,27}
D:{2, 13, 15} 16 {38, 27}
答案: 【{13, 2, 15} 16 {27, 38}

10、判断题:
分治策略解决棋盘覆盖问题是一个渐近意义下最优的算法.( )
选项:
A:对
B:错
答案: 【

发表评论

电子邮件地址不会被公开。 必填项已用*标注