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

2017年河北大学数学与信息科学学院835数据结构(含C语言)[专业硕士]考研导师圈点必考题汇编

  摘要

一、选择题

1. 设X 是树T 中的一个非根结点,B 是T 所对应的二叉树。在B 中,X 是其双亲的右孩子,下列结论正确的是( )。

A. 在树T 中,X 是其双亲的第一个孩子

B. 在树T 中,X —定无右兄弟

C. 在树T 中,X —定是叶结点

D. 在树T 中,X —定有左兄弟

【答案】D

【解析】由树和二叉树的转换关系可知,X 一定有左兄弟,X 是其双亲的第二个孩子,不能确定在树T 中,X 是否有右兄弟,是否是叶结点。

2. 下列选项中会导致进程从执行态变为就绪态的事件是( )。

A. 执行P (wait )操作

B. 申请内存失败

C. 启动I/O设备

D. 被尚优先级进程抢占

【答案】D

【解析】D 项,被高优先级进程抢占,进程会由执行态变为就绪态。ABC 三项,程序由于缺少资源而由执行态转为阻塞态。

3. 在支持多线程的系统中,进程P 创建的若干个线程不能共享的是( )。

A. 进程P 的代码段

B. 进程P 中打开的文件

C. 进程P 的全局变量

D. 进程P 中某线程的栈指针

【答案】D

【解析】现代操作系统中,进程是资源分配的基本单位,线程是处理机调度的基本单位。因此,进程是线程运行的容器,本题中,进程的代码段,进程打开的文件,进程的全局变量等都是进程的资源,唯有进程中某线程的栈指针是属于线程的,那么,属于进程的资源可以共享,属于线程的栈是独享的,不能共享。

4. 浮点数加、减运算一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7位(均含2位符号位)

。若有两个数

则用浮点加法计算X+Y的最终结果是( )。

A.001111100010

B.001110100010

C.010000010001

D. 发生溢出

【答案】D

【解析】浮点数加、减运算一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤,难点在对阶、规格化、判溢出这三步。X 和Y 的阶码不同,所以应该先对阶,对阶原则为:小阶向大阶看齐。因此将Y 对阶后得到:Y=然后将尾数相加,得到尾数之和为:34/32。因为这是两个同号数相加,尾数大于1,则需要右规,阶码加1。由于阶码的位数为5位,且含两位符号位,即阶码的表示范围在-8〜+7之间。而阶码本身等于7, 再加1就等于8。因此,最终结果发生溢出。

5. 用户在删除某文件的过程中,操作系统不可能执行是( )

A. 删除此文件所在的目录

B. 删除与此文件关联的目录项

C. 删除与此文件对应的控制块

D. 释放与此文件关联的内存级冲区

【答案】A

【解析】删除文件不需要删除文件所在的目录,而文件的关联目录项和文件控制块需要随着文件一同删除,同时释放文件的关联缓冲区。

6. 假定不采用Cache 和指令预取技术,且机器处于“开中断”状态,则在下列有关指令执行的叙述中,错误的是( )。

A. 每个指令周期中CPU 都至少访问内存一次

B. 每个指令周期一定大于或等于一个CPU 时钟周期

C. 空操作指令的指令周期中任何寄存器的内容都不会被改变

D. 当前程序在每条指令执行结束时都可能被外部中断打断

【答案】C

【解析】本题涉及的概念比较多。首先,如果不采用Cache 和指令预取技术,每个指令周期中至少要访问内 存一次,即从内存中取指令。其次,指令有的简单有的复杂,每个指令周期总大于或等于一个CPU 时钟周期。第三,即使是空操作指令,在指令周期中程序计数器PC 的内容也会改变为取下一条指令做准备。第四,如果机器处于“开中断”状态,在每条指令执行结束时都可能被新的更高级的中断请求所打断。所以应选择选项C 。

7. 下列二叉排序树中,满足平衡二叉树定义的是( )。

【答案】B

【解析】平衡二叉树是指左右子树高度差(平衡因子)的绝对值不超过1的二叉树。A 项中根结点的平衡因子是2; B 项中每个结点的平衡因子的绝对值均不超过1; C 项中根结点的平衡因子是-2; D 项中根结点的平衡因子是3。

8. 对下图进行拓扑排序,可以得到不同的拓扑序列的个数是( )。

A.4

B.3

C.2

D.1

【答案】B

【解析】拓扑排序的步骤为:

(1)在有向图中选一个没有前驱的顶点并且输出它;

(2)从图中删除该顶点和以它为尾的弧。重复上述两步,直至全部顶点均已输出。由于没有前驱的顶点可能不唯一,所以拓扑排序的结果也不唯一。题中所给图有三个不同的拓扑棑序序列,分别为abced ,abecd ,aebcd 。

9. 下列网络设备中,能够抑制广播风暴的是( )。

中继器

集线器

网桥

路由器

A.

B.

C.