2017 年计算机学科专业基础综合试题参考答案
一、单项选择题
1. B 2.
9. B
10.
17. C 18.
25. B 26.
33. A 34.
1. 解析:
sum +=++i; 相当千廿 i;sum = sum + i;。进行到第 k趟循环, sum = (l+k)*k/2 。显然需要进
行 O(n112) 趟循环,因此这也是该函数的时间复杂度。
2. 解析:
I的反例:计算斐波拉契数列迭代实现只需要一个循环即可实现。 III 的反例:入栈序列
为 1、2, 进行如下操作 PUSH 、PUSH 、POP 、POP, 出栈次序为 2、1; 进行如下操作 PUSH 、
POP 、PUSH 、POP, 出栈次序为 1、2。IV, 栈是一种受限的线性表,只允许在一端进行操作。
因此 II正确。
3. 解析:
三元组表的结点存储了行 row 、列 col 、值 value 三种信息,是主要用来存储稀疏矩阵的一种
数据结构。十字链表将行单链表和列单链表结合起来存储稀疏矩阵。邻接矩阵空间复杂度达 O(n2),
不适千存储稀疏矩阵。二叉链表又名左孩子右兄弟表示法,可用千表示树或森林。因此 A 正确。
4. 解析:
先序序列是先父结点,接着左子树,然后右子树。中序序列是先左子树,接着父结点,然
后右子树,递归进行。如果所有非叶结点只有右子树,先序序列和中序序列都是先父结点,然
后右子树,递归进行,因此 B正确。
5. 解析:
后序序列是先左子树,接着右子树,最后父结点,递归进行。根结点左子树的叶结点首先
被访问,它是 e。接下来是它的父结点 a, 然后是 a的父结点 c。接着访问根结点的右子树。它
的叶结点 b首先被访问,然后是 b的父结点 d, 再者是 d的父结点 g。最后是根结点 f。因此 d
与 a同层, B正确。
CBBDD 3.
11.
19.
27.
35.
4.
12.
20.
28.
36.
5.
13.
21.
29.
37.
6.
14.
22.
30.
38.
7.
15.
23.
31.
39.
AACBC BDDBA DABDC BCDBD
BCDDA ADABB 8.
16.
24.
32.
40.
Y
é