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

2017年内蒙古师范大学计算机与信息工程学院840数据结构与操作系统考研导师圈点必考题汇编

  摘要

一、选择题

1. 下列有关浮点数加减运算的叙述中,正确的是( )。

对阶操作不会引起阶码上溢或下溢

右规和尾数舍入都可能引起价码上溢

左规时可能引起阶码下溢

尾数溢出时结果不一定溢出 A. 仅B. 仅C. 仅

D. 【答案】D

【解析】浮点数的加减运算步骤包括:①对阶,使两个操作数的小数点位置对齐,阶码小的尾数右移,可能产生溢出,但是阶码不会溢出;②尾数求和,将对阶后的尾数按定点数加(减)运算规则运算;③规格化,包括左规和右规,左规时阶码减少,可能出现阶码下溢,而右规时,阶码増加可能出现阶码上溢;④舍入,该过程可能需要右规调整,因此可能出现阶码上溢;⑤溢出判断,浮点数的溢出与否是由阶码的符号决定的,而不是由尾数溢出判断的,因此尾数溢出时结果不一定溢出。因此均正确。

2. 执行完下列语句段后,f 值为( )。

A.2 B.4 C.8

D. 无限递归 【答案】B

【解析】该程序使用了递归调用,由题知,所以结果为4。

3. 向一个栈顶指针为h 的带头结点的链栈中插入指针S 所指的结点时,应执行( )。

【答案】D

【解析】本题是向一个链栈中插入结点,可从头结点后插入。先将s 结点指向第一个头结点之后的结点之前,再将头结点指向s 结点。

4. 为提高散列(Hash )表的查找效率,可以采用的正确措施是( )。

I .增大装填(载)因子

II. 设计冲突(碰撞)少的散列函数

III. 处理冲突(碰撞)时避免产生聚集(堆积)现象 A. 仅I B. 仅 II C. 仅 I 、II D. 仅 II 、III 【答案】D

【解析】散列表的查找效率(比较次数)取决于:散列函数、处理冲突的方法和散列表的装填因子a 。CX 标 志着散列表的装满程度,通常情况下,(X 越小,发生冲突的可能性越小;反之,a 越大,表示已填入的记录越多, 再填入记录时,发生冲突的可能性越大。因此选项I 错误,越是增大装填因子,发生冲突的可能性就越大,查找 效率也越低。选项II 正确。选项III 正确。采用合适的处理冲突的方法避免产生聚集现象,也将提高查找效率。例如,用拉链法解决冲突时不存在聚集现象,用线性探测法解决冲突时易引起聚集现象。

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

【答案】A

【解析】因为是用数组存储,这里所说的工作指针j 相当于数组的下标,结点是存储一个值域和next 域,next 域就是存放下一个结点的下表,所以只要将next 域中的值赋给j 就可以实现j 沿链移动。

6. 有一个

的稀疏矩阵,非0元素有10个,设每个整型数占2字节,则用三元组表示该矩

阵时,所需的字节数是( )。

A.60 B.66 C.18000 D.33

【答案】B

【解析】如果是全部,

则是需要10个非零整数则是

个字节;但是用三元组表示的话,只需要记录非零

字节,

数据的X 坐标,Y 坐标,数值即可,就是每个非零数字需要占用三个整数的空间,即

字节;如果问有效元素占的空间大小,则选A 项,但是如果从整体

来看,应该多一个用来记录矩阵宽(100)、高(90)、默认值(0)的元素,所以还应该多算6个字节。所以全部为66字节,选B 项。

7. 下述二叉树中,哪一种满足性质:从任一结点出发到根的路径上所经过的结点序列按其关键字有序( )。

A. 二叉排序树 B. 哈夫曼树

C. D. 堆 【答案】D

【解析】堆的定义: n 个关键字序列(1)

(2)

且且

称为堆,当且仅当该序列满足如下性质(简称为堆性质):

满足第(1)种情况的堆,称为小顶堆;满足第(2)种情况的堆,称为大顶堆。

由堆的定义可知堆可以满足上述性质。

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

A. 每个指令周期中CPU 都至少访问内存一次 B. 每个指令周期一定大于或等于一个CPU 时钟周期 C. 空操作指令的指令周期中任何寄存器的内容都不会被改变 D. 当前程序在每条指令执行结束时都可能被外部中断打断 【答案】C

【解析】本题涉及的概念比较多。首先,如果不采用Cache 和指令预取技术,每个指令周期中至少要访问内 存一次,即从内存中取指令。其次,指令有的简单有的复杂,每个指令周期总大于或等于一个CPU 时钟周期。第三,即使是空操作指令,在指令周期中程序计数器PC 的内容也会改变

为取下一条指令做准备。第四,如果机器处于“开中断”状态,在每条指

令执行结束时都可能被新的更高级的中断请求所打断。所以应选择选项C 。

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

A.257 B.258 C.384 D.385 【答案】C

【解析】由

:_

_

_可知

显然

384, 所以二叉树的叶结点个数是384。还可以根据完全二叉树的另一个

性质:最后一个分支结点的序号为[768/2], 故非叶子结点数为384, 而叶子结点的个数为768-384=384。([x]表示不大于x 的最大整数,比如[3.14] =3)。

相关内容

相关标签