第一次作业(第一章)
一. 单选题(共15题,100分)
1. (单选题, 6.6分)算法的计算量的大小称为算法的()
A. 效率
B. 复杂度
C. 现实性
D. 难度
正确答案: B
2. (单选题, 6.6分)一个算法应该是()。
A. 程序
B. 问题求解步骤的描述
C. 要满足5个基本特性
D. A和C
正确答案: B
3. (单选题, 6.6分)
在数据结构中, 从逻辑上可以把数据结构分()。
A. 动态结构和静态结构
B. 紧凑结构和非紧凑结构
C. 线性结构和非线性结构
D. 内部结构和外部结构
正确答案: C
6.6分
4. (单选题, 6.6分)
与数据元素本身的形式、内容、相对位置、个数无关的是数据的()。
A. 存储结构
B. 存储实现
C. 逻辑结构
D. 运算实现
我的答案: C正确答案: C
5. (单选题, 6.6分)以下数据结构中,()是非线性数据结构。
A. 树
B. 字符串
C. 队列
D. 栈
正确答案: A
6. (单选题, 6.6分)以下说法正确的是( )
A. 数据元素是数据的最小单位
B. 数据项是数据的基本单位
C. 数据结构是带有结构的各数据项的集合
D. 一些表面上很不相同的数据可以有相同的逻辑结构
正确答案: D
7. (单选题, 6.6分)
以下算法的时间复杂度为()。
void fun(int n){
int i=1;
while(i<=n)
i=i*2;
}
A.
B.
C.
D.
正确答案: D
8. (单选题, 6.6分)
以下算法的时间复杂度为()。
for (i=0; i<n; i++)
for (j=0; j<m; j++)
a[i][j]=0;
A.
B.
C.
D.
我的答案: B正确答案: B
6.6分
9. (单选题, 6.6分)
在下面的程序片段中,对x的赋值语句的频度()。
for(i=0; i<n;i++)
for(j=0; j<n; j++)
++x;
A.
B.
C.
D.
正确答案: B
6.6分
10. (单选题, 6.6分)以下与数据的存储结构无关的术语是( )。
A. 顺序队列
B. 链表
C. 有序表
D. 链栈
正确答案: C
11. (单选题, 6.6分)
下列函数的时间复杂度是( )。
int func(int n) {
int i=0,3um=0;
while(sum<n) sum += ++i;
return i;
A.
B.
C.
D.
正确答案: B
12. (单选题, 6.6分)某算法的时间复杂度为O(n2),表明该算法的()。
A. 问题规模是
B. 执行时间等于
C. 执行时间与成正比
D. 问题规模与成正比
正确答案: D
13. (单选题, 6.6分)线性表L=(a1,a2,……an),下列说法正确的是( )。
A. 每个元素都有一个直接前驱和一个直接后继
B. 线性表中至少有一个元素
C. 表中诸元素的排列必须是由小到大或由大到小
D. 除第一个和最后一个元素外,其余每个元素都有一个且仅有一个直接前驱和直接后继
正确答案: D
14. (单选题, 6.6分)在一个长度为n的顺序表中,在第i个元素(1≤i≤n+1)之前插入一个新元素时须向后移动( )个元素。
A. n-i
B. n-i+1
C. n-i-1
D. i
正确答案: B
15. (单选题, 7.6分)
以下算法中加下画线的语句的执行次数为( )。
int m=0, i, j;
for(i=1; i<=n; i++)
for(j=1; j<=2*i; j++)
m++;
A. n(n+1)
B. n
C. n+1
D. n2
正确答案: A