21、以下关于算法的说法正确的是 ____ B ________。
A.算法的可行性是指指令不能有二义性
B.其他几个都是错误的
C.算法最终必须由计算机程序实现
D.算法等同于程序
22、算法的时间复杂度与 ____ B ___ 有关。
A.计算机硬件性能
B.问题规模
C. 编译程序质量
D. 程序设计语言
23、算法分析的主要任务之一是分析 __ A _____。
A. 算法的执行时间和问题规模之间的关系
B. 算法是否具有较好地可读性
C. 算法中是否存在语法错误
D. 算法的功能是否符合设计要求
24、算法的时间复杂度为O(n2),表明该算法的 ___ D ____。
A.问题规模与n^2成正比
B.问题规模是n^2
C.执行时间等于n^2
D.执行时间与n^2成正比
25、算法分析的目的是 __ C _____。
A. 找出数据结构的合理性
B. 研究算法中输入和输出的关系
C. 分析算法的效率以求改进
D. 分析算法的易读性和文档性
26、以下函数中时间复杂度最小的是 __ C _____。
A.T2(n)=n^2-8000n
B.T3(n)= -6000n
C. T4(n)=20000log2n
D. T1(n)=nlog2n+5000n
27、以下函数中时间复杂度最小的是 __ A _____。
A. T1(n)=1000log2n
B.T2(n)= -1000log2n
C. T4(n)=2nlog2n-1000log2n
D.T3(n)=n^2- 1000log2n
28、以下说法中错误的是 __ B _____。
(1)原地工作算法的含义是指不需要任何额外的辅助空间
A. (3)
B. (1)、(2)
C. (1)
D. (1)、(4)
29、以下数据结构中哪一个是非线性结构? B
A. 队列
B. 二叉树
C. 栈
D. 线性表
30、下面程序的时间复杂为 ___ C_ ___。
for(i=1,s=0; i<=n; i++) {t=1;for(j=1;j<=i;j++) t=t*j;s=s+t;}
A.O(n^4)
B. O(n)
C.O(n^2)
D.O( n^3)
31、一个算法的时间复杂度为(n^3+ n^2log2n+14n)/n^2,其数量级表示为 __ D _____。
A. O( n^2)
B. O( n^3)
C. O( n^4)
D. O(n)
32、 取算法的时间复杂度为O(n^3),当n=5时执行时间为50s,当n=15时,执行时间为____ C ___。
A. 675
B. 3375
C. 1350
D. 2025
33、 下面程序的时间复杂度为 __ D _____。
void fun( int n) { int i=1; while (i<=n) i=i*2}
A. O(n^2 )
B. O(nlog2n)
C. O(n)
D. O(log2n)
34、下面程序的时间复杂度为 __ C _____。
void fun( int n) { int i=1; while (i<=n) i=i*3}
A. O(nlog3n)
B. O(n)
C. O(log3n)
D. O(n^2)
35、下面程序的时间复杂度为 __ C _____。
void fun( int n) { int i=1, k=100; while (i<=n) {k++; i+=2;} }
A. O(n^2)
B. O(nlog2n)
C. O(n)
D. O(log2n)
二、判断
36、数据元素是数据的最小单位。×