当前位置:问答库>考研试题

2017年浙江大学软件学院878计算机学科专业基础[专业硕士]之数据结构考研导师圈点必考题汇编

  摘要

一、填空题

1.

给定一组数据

的值为_____。 【答案】5;96

【解析】每次找两个最小的权值构建哈夫曼树:

以它构造一棵哈夫曼树,则树高为_____,

带权路径长度

2. 线性表

【答案】(n -1)/2

【解析】删除第一个元素需要移动n -i 次,以此类推,删除最后一个元素需要移动0次。平 均次数为

3. 遍历图的过程实质上是_____,广度优先遍历图的时间复杂度_____; 深度优先遍历图的时间复杂度_____, 两者不同之处在于_____, 反映在数据结构上的差别是_____。

【答案】查找顶点的邻接点的过程;0(n+e); 0(n+e); 访问顶点的顺序不同;队列和栈 【解析】广度优先遍历图使用队列这种数据结构,深度优先遍历图使用栈这种数据结构。

4. 文件由_____组成;记录由_____组成。

【答案】记录;数据项

5. 索引顺序文件既可以顺序存取,也可以_____存取。

【答案】随机

6. 设广义表

是_____tail(L )是_____;L 的长度是_____;深度是_____。用数组表示,假定删除表中任一元素的概率相同,则删除一个元素

平均需要移动元素的个数是_____。

;;2;2 【答案】( )(( ))

【解析】广义表的表头是表的第一个元素,表尾是除了第一个元素外其余的所有的元素构成的表;表的长度指表中元素的个数;表的深度指展开后括号的层数。

7. 高度为h 的堆中,最多有_____元素,最少有_____个元素。

【答案】

当最后一层只有

【解析】当这个堆构成的是满二叉树时,元素的个数最多,

元素个数为

一个元素时,此时堆的元素个数最少,元素个数为

8. 按LSD 进行关键字排序,除最次位关键字之外,对每个关键字进行排序时,只能用_____的排序方法。

【答案】稳定

9. 无用单元是指_____,例_____

【答案】用户不再使用而系统没有回收的结构和变量;

10.在一个具有n 个单元的顺序栈中,假定以地址高端(即下标为n 的单元)作为栈底,以top 作为栈顶指针,则当向栈中压入一个元素时,top 的变化是top=_____。

【答案】

【解析】由于栈底在地址高端,栈中压入一个元素时,栈顶向地址底端移动一个单位,

所以

二、选择题

11.以下说法错误的是( )。

(1)算法原地工作的含义是指不需要任何额外的辅助空间 (2)在相同的规模n 下,复杂度

的算法在时间上总是优于复杂度

的算法

(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界 (4)同一个算法,实现语言的级别越高,执行效率就越低 A. (1) B. (1), (2) C. (1), (4) D. (3) 【答案】A

【解析】算法原地工作的含义不是指不需要任何额外的辅助,而是算法所需要的辅助空间不随着问题的规模而变化,是一个确定的值。

12.用数组r 存储静态链表,结点的next 域指向后继,工作指针j 指向链中结点,使j 沿链移动的操作为( )。

【答案】A

【解析】因为是用数组存储,这里所说的工作指针j 相当于数组的下标,结点是存储一个值

域和next 域,next 域就是存放下一个结点的下表,所以只要将next 域中的值赋给j 就可以实现j 沿链移动。

13.对关键码序列28,16,32,12,60,2,5,72快速排序,从小到大一次划分结果为( )

【答案】B

【解析】快速排序是将待排记录分割成独立的两部分,其中一部分的关键字均比另一部分记录的关键字小。

第一次比较:28比72小,不交换; 第二次比较:28比5大,交换,此时为第三次比较:16比28小,不交换; 第四次比较:32比28大,交换,此时为第五次比较:28比2大,交换,此时为第六次比较:28比12大,不交换; 第七次比较:28比60小,交换,此时为

一次划分结束。

14.设计一个判别表达式中左、右括号是否配对出现的算法,采用( )数据结构最佳。

A. 线性表的顺序存储结构 B. 队列

C. 线性表的链式存储结构 D. 栈 【答案】D

【解析】用栈更合适,如果是左括号,进找;如果是右括号,看栈顶是不是左括号,如果是, 则左括号出栈;否则不配对(可以直接结束算法)。处理完所有符号号,如果栈为空则配对成功。

15.有两个并发执行的进程P1和P2, 共享初值为1的变量x 。P1对x 加1, P2对x 减1。加1和减1操作的指令序列分别如下所示。

//取x 到寄存器R1中

两个操作完成后,2的值( )。 A. 可能为-1或3 B. 只能为1 C. 可能为0、1或2 D. 可能为-1、0、1或2