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

2018年延安大学数学与计算机科学学院812数据结构与程序设计之数据结构考研基础五套测试题

  摘要

一、单项选择题

1. 若一棵完全二叉树有768个结点, 则该二叉树中叶结点的个数是( )。

A.257

B.258

C.384

D.385

【答案】C

【解析】由

和可知, , 即, 显然

则384, 所以二叉树的叶结点个数是384。

还可以根据完全二叉树的另一个性质:

最后一个分支结点的序号为

384, 而叶子结点的个数为。(表示不大于x 的最大整数, 比如

2. 在下面的排序方法中,辅助空间为O(n)的是( )。

A. 希尔排序

B. 堆排序

C. 选择排序

D. 归并排序

【答案】D

3. 下列选项中,降低进程优先级的合理时机是( ).

A. 进程的时间片用完

B. 进程刚完成I/O,进入就绪队列

C. 进程长期处于就绪队列

D. 进程从就绪状态转为运行态

【答案】A

【解析】进程时间片用完可以降低其优先级,完成I/O的进程应该提升其优先级,处于就绪队列等待调度的进程一般不会改变其优先级. 进行这样的操作主要是为了改善交互式系统的响应时间,并均衡各个作业的公平性. 采用时间片轮转技术主要为改善交互式用户的感受,使其觉得是独享计算机(时间片轮转可以有效地防止计算繁忙型的进程独占计算机) ,时间片用完后降低其优先级是为了改善新进程的响应时间(新进程优先级较高,老进程降低优先级可以保证新进程具有优先权) ,对于刚进入就绪队列的新进程,往往在创建时已经根据其特点和要求确定好优先级,不会

, 故非叶子结点数为) 。

随意改变. 而对于从阻塞状态唤醒的进程,由于阻塞带来了较长时间的等待,一般会根据阻塞队列的不同适当地提高优先级,以改善用户响应时间.

4. 对有2个顶点e 条边且使用邻接表存储的有向图进行广度优先遍历, 其算法时间复杂度是( )。 A. B. C. D.

【答案】C 。

【解析】遍历图的过程实质上是对每个顶点查找其邻接点的过程。其耗费的时间则取决于所采用的存储结构。当用二维数组表示邻接矩阵图的存储结构时,

查找每个顶点的邻接点所需时间为

, 其中n 为图中顶点数。而当以邻接表作图的存储结构时, 找邻接点所需时间为0(e), 其中e 为无向图中边的数或有向图中弧的数。由此, 当以邻接表作存储结构时, 深度优先搜索遍历图的时间复杂度为。即可得出正确答案。

5. 某系统正在执行三个进程P1、P2和P3, 各进程的计算(CPUCPUCPU)时间和

如下表所示。

时间比例

为提高系统资源利用率, 合理的进程优先级设置应( ) A. B. C. D.

【答案】B

【解析】为了合理地设置进程优先级, 应该将进程的CPU 利用时间和时间做综合考虑, 故答案选B 。

6. 某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间。

A. 单链表

B. 仅有头指针的单循环链表

C. 双链表

D. 仅有尾指针的单循环链表

【答案】D

【解析】仅有尾指针的单循环链表,在最后插入元素和删除第一个元素都会用到这个尾指针。

7. 下列存储器中, 在工作期间需要周期性刷新的是( )。

A.SRAM

B.SDRAM

C.ROM

D.FLASH

【答案】B

【解析】动态随机存储器(DRAM)是利用存储元电路中栅极电容上的电荷来存储信息的, 电容

上的电荷一般只能维持, 因此即使电源不掉电, 信息也会自动消失。为此, 每隔一定时间必须刷新。

8. 某二叉树结点的中序序列为BDAECF ,后序序列为DBEFCA ,则该二叉树对应的森林包括( )棵树。

A.1

B.2

C.3

D.4

【答案】C

【解析】由两序列可知,A 为根节点,ECF 为右子树,C 为右子树的根,F 为C 的右孩子。再由二叉树和森林的对应关系可知该二叉树对应的森林包括3棵树。根据中序序列和后序序列画出二叉树,根据二叉树得出对应的森林包含的树的棵数。

9. 有n(n>0) 个分支结点的满二叉树的深度是( )。

A.n 2﹣l

B.log 2(n+1) +1

C.log 2(n+1)

D.log 2(n—1)

【答案】C

【解析】满二叉树的结点总数=分支的结点总数+非分支的结点总数。由于此树为满二叉树,

所以非分支的结点总数为1,所以满二叉树共有n +1个结点,所以满二叉树的深度为log 2 (n+1) 。

10.—个栈的入栈序列为1, 2, 3, ……, n , 其出栈序列是, 则可能。若, 则

取值的个数是( ) A. B. C.

D. 无法确定

【答案】C

【解析】除了3本身以外, 其他的值均可以取到, 因此可能取值的个数为n-1。