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

2017年上海理工大学光电信息与计算机工程学院848数据结构及操作系统之数据结构考研导师圈点必考题汇编

  摘要

一、选择题

1. 算法的计算量的大小称为计算的( )。

A. 效率

B. 复杂性

C. 现实性

D. 难度

【答案】B

【解析】算法复杂度通常分为时间复杂度和空间复杂度,算法的计算量的大小可以用时间复杂度衡量,即可以称为计算的复杂度。

2. 将一棵树t 转换为孩子兄弟链表表示的二叉树h ,则t 的后序遍历是h 的( )。

A. 前序遍历

B. 中序遍历

C. 后序遍历

【答案】B

【解析】树的后序遍历恰好对应于二叉树的中序遍历。

3. 下列选项中,对正确接收到的数据帧进行确认的MAC 协议是( )。

A.CSMA

B.CDMA

C.CSMA/CD

D.CSMA/CA

【答案】D

【解析】可采用排除法。CDMA 是码分多址复用,是物理层的内容;CSMA/CD即带冲突检测的载波监听多 路访问,接收方并不需要确认;CSMA/CD是CSMA 的加强版,故CSMA 也无确定;CSMA/CD是802.11中的 协议,其利用ACK 信号来避免冲突的发生,也就是说,只有当

客户端收到网络上返回的ACK 信号后才确认送 出的数据已经正确到达目的地址,因此答案是D 。

4. 下列选项中,不会引起指令流水线阻塞的是( )。

A. 数据旁路(转发)

B. 数据相关

C. 条件转移

D. 资源冲突

【答案】A

【解析】由于采用流水线方式,相邻或相近的两条指令可能会因为存在某种关联,后一条指令不能按照原指定的时钟周期运行,从而使流水线断流。有三种相关可能引起指令流水线阻塞:

①结构相关,又称资源相关;

②数据相关;

③控制相关,又称指令相关,主要由转移指令引起。

5. 假定用若干个2Kx4位的芯片组成一个8Kx8位的存储器,则地址0B1FH 所在芯片的最小地址是( )。

A.0000H

B.0600H

C.0700H

D.0800H

【答案】D

【解析】由若干芯片构成存储器,采用字和位同时扩展方法。8片2Kx4位的芯片分成4组,每组2个芯片,各组芯片的地址分配分别为:第1组,0000H 〜07FFH ; 第2组,0800H 〜0FFFH ; 第3组,1000H 〜17FFH ; 第4组,1800H 〜1FFFH 。地址0BIFH 处于第2组内,其芯片的最小地址为0800H 。

6. 中断处理和子程序调用都需要压栈以保护现场,中断处理一定会保存而子程序调用不需要保存其内容的是( )。

A. 程序计数器

B. 程序状态字寄存器

C. 通用数据寄存器

D. 通用地址寄存器

【答案】B 。

【解析】中断处理与子程序调用最大的区别是中断处理程序与正在运行的进程可能无关,而子程序调用与正在运行的进程有关。中断是要打断处理器的正常工作次序,并要求其去处理某一事件的一种常用手段。因此,除了要保护当前程序的地址,计数器(指针)和数据寄存器以外,还需要保存程序状态字。子程序调用是与当前进程有关,是正在运行的程序有意安排执行的,这一类调用发生的时间以及位置具有确定性,处于同一个进程内,因此不需要保存程序状态字。所以中断处理和子程序调用不同的区别是中断处理程序必定会保存程序状态字寄存器。

7. 图的BFS 生成树的树高比DFS 生成树的树高( )。

A. 小或相等 B. 小 C. 大或相等 D. 大

【答案】A

【解析】BFS 称作广度优先搜索,DFS 称作深度优先搜索。广度优先搜索类似与二叉树的层序遍历算法,深度优先搜索类似于树的先序遍历。因为深度优先搜索算法遵循的策略是尽可能的

“深”地搜索一个图。所以图的BFS 生成树的树高比DFS 生成树的树高小或者相等。

8. 从堆中删除一个元素的时间复杂度为( )。

【答案】B

【解析】堆中删除一个元素,需要重新调整堆,其时间复杂度为

9. float 类型(即IEEE754单精度浮点数格式)能表示的最大正整数是( )。

A.

B.

C.

D.

【答案】D 。

【解析】IEEE754单精度浮点数尾数采用隐藏位策略的原码表示,且阶码用移码表示的浮点数。规格化的短 浮点数的真值为:S 为符号位,E 的取值为f 为23位;

故float 类型能表示的最大整数是

10.在有向图G 的拓扑序列中,若顶点V i 在顶点V j 之前,则下列情形不可能出现的是( ) 。

A.G 中有弧 B.G 中有一条从V i 到V j 的路径

C.G 中没有弧

【答案】D

【解析】若想实现图的一个拓扑排序,需要满足的一个条件为:若顶点A 在序列中排在顶点B 的前面,则在图中不存在从顶点B 到顶点A 的路径。又因为若G 中有一条从V j 到V i 的路径,则在拓扑序列中V i 不可能在V j 前。

11.浮点数加、减运算一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为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。因此,最终结果发生溢出。