智慧树知到《算法分析与设计》章节测试答案
智慧树知到《算法分析与设计》章节测试答案
第一章单元测试
1、算法是指解决问题的方法或过程,它包含一系列步骤,用来将输入数据转换成输出结果。
A.正确
B.错误
正确答案:正确
2、使用伪代码描述算法具有()等优点。
A.易于转化为程序语言代码
B.容易修改
C.简单易懂
D.格式统一规范
正确答案:易于转化为程序语言代码;容易修改;简单易懂
3、算法通常具有()的性质。
A.输出:至少有一个输出
B.有限性:算法中每条指令的执行次数有限,执行每条指令的时间也有限
C.确定性:组成算法的每条指令清晰、无歧义
D.输入:有零个或多个输入
正确答案:输出:至少有一个输出;有限性:算法中每条指令的执行次数有限,执行每条指令的时间也有限;确定性:组成算法的每条指令清晰、无歧义;输入:有零个或多个输入
4、程序是算法用某种程序设计语言的具体实现,程序需满足算法的所有性质。
A.正确
B.错误
正确答案:错误
5、常用的描述算法的形式有()。
A.自然语言
B.程序流程图
C.伪代码
D.机器语言
正确答案:自然语言;程序流程图;伪代码
6、函数f(n)=20log3^n的渐进表达式是()。
A.O(n)
B.0(n^2)
C.0(log(n))
D.0(1)
正确答案:O(n)
7、一个算法的优劣由()决定。
A.代码长度
B.使用的编程语言
C.时间复杂度
D.空间复杂度
正确答案:时间复杂度;空间复杂度
8、如果存在正的常数C和自然数N0,使得当N≥N0时有f(N)≤Cg(N),则称函数f(N)当N充分大时上有界,且g(N)是它的一个上界,记为f(N)=O(g(N)),即f(N)的阶不高于g(N)的阶。
A.正确
B.错误
正确答案:正确
9、分析以下代码的时间复杂度:
int func(int n)
{ int i=1, k=0; while(i<=n) { k++; i=i*2; }
return k;}
A.O(n)
B.O(n^2)
C.O(n/2)
D.O(logn)
正确答案:O(logn)
10、对于f(n)=n,下列说法正确的是()。
A.f(n)=O(n)
B.f(n)=O(1/n)
C.f(n)=O(n^2)
D.f(n)=O(n^3)
正确答案:f(n)=O(n);f(n)=O(n^2);f(n)=O(n^3)
第二章单元测试
1、递归函数是指在一个函数体中出现直接或间接调用该函数自身的函数。
A.正确
B.错误
正确答案:正确
2、已知f(1)=1,f(n)=f(n-1)+n,那么f(50)的作用是()。
A.计算1到50的乘积。
B.计算1到50的和。
C.计算50个1的和。
D.计算斐波拉契数列的第50个元素的值。
正确答案:计算1到50的和。
3、递归的优点包括()。
A.结构清晰
B.容易用数学归纳法来证明算法的正确性
C.可读性强
D.运行效率高
正确答案:结构清晰;容易用数学归纳法来证明算法的正确性;可读性强
4、在经典的汉诺塔问题中,如果有5个圆盘需要从A柱移至C柱,最少需要移动()步。