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

2016年成都信息工程大学软件工程学院、计算机学院数据结构复试笔试最后押题五套卷

  摘要

一、选择题

1. 设有两个串S1和S2, 求S2在S1中首次出现的位置的运算称作( )。

A. 求子串

B. 判断是否相等

C. 模型匹配

D. 连接

答:C

【解析】常用的串的基本操作有七种,INDEX (s ,t )是其中的定位函数,这种运算就是所说的模式匹配。

2. 已知一个长度为16的顺序表L , 其元素按关键字有序排列。若采用折半查找法查找一个L 中不存在的元素,则关键字的比较次数最多是( )。

A.4

B.5

C.6

D.7

答:B

【解析】折半查找法在查找不成功时和给定值进行比较的关键字个数最多为(l 〇g2n ) +1,在本题中,n=16, 故比较次数最多为5。

3. 下列二叉排序树中查找效率最高的是( )。

A. 平衡二叉树

B. 二叉查找树

C. 没有左子树的二叉排序树

D. 没有右子树的二叉排序树

答:A

【解析】平衡二叉树的左子树和右子树的深度之差的绝对值不超过1。这就保证了二叉树的深度是级别的。二叉查找树或者是一颗空数;或者是具有下列性质的二叉树:①若左子树不空,则左子树上所有结点的值均小于它的根结点的值;②若右子树不空,则右子树上所有结点的值均大于它的根结点的值;③左、右子树也分别为二叉排序树。B 、C 、D 三项均不能保证左子树和右子树的深度之差的绝对值不超过1,甚至很大,因此查找效率低。

4. 由3个“1”和5个“0”组成的8位二进制补码,能表示的最小整数是( )。

A.-126

B.-125

C.-32

D.-3

答:B

;负数的补码和原码的转化是:【解析】能表示的最小整数一定是负数,符号位占用1个“1”

原码符号位不变,数值部分按位取反,末位加“1”。因此最小的整数的补码是“10000011”,原码

为“11111101”,即

5. 某磁盘的转速为10, 000转/分,平均寻道时间是为磁盘传输速率是磁盘控制器延迟

读取一个4KB 的扇区所需平均时间约为( )

A.9ms

B.9.4ms

C.12ms

D.12.4ms

答:B

【解析】磁盘转速是10 000转/分钟,平均转一转的时间是6ms ,因此平均查询扇区的时间是3ms ,平均寻道时间是6ms ,读取4KB 扇区信息的时间为0.2ms ,信息延迟的时间为0.2ms ,总时 间为

6. 下列给出的指令系统特点中,有利于实现指令流水线的是( )。

I. 指令格式规整且长度一致

II. 指令和数据按边界对齐存放

III. 只有Load / Store指令才能对操作数进行存储访问

A. 仅

B. 仅

C. 仅

D.

答:D

【解析】特点I 和III 都是RISC 机的特征,而特点II 则有利于指令和数据的存放,所以以上三个特点都有利于实现指令流水线。

7. 输入序列为ABC ,可以变为CBA 时,经过的栈操作为( )。

答:B

【解析】根据输入序列和输出序列可知,输入序列全部进栈,然后再出栈。从中可以看出,push 的数目始终大于等于pop 的数目。

8. 栈和队的共同点是( )。

A. 都是先进后出

B. 都是后进先出

C. 只允许在端点处插入和删除元素

D. 没有共同点

答:C

【解析】栈和队列的区别是栈是先进后出的数据结构,队列是先进先出的数据结构,栈和队列的共同点是都只能在端点处插入和删除元素。

9. 下列选项中,不属于网络体系结构中所描述的内容是( )。

A. 网络的层次

B. 每一层使用的协议

C. 协议的内部实现细节

D. 每一层必须完成的功能

答:C

【解析】体系结构仅规定协议的功能和消息格式,但对具体的实现细节由具体设备厂商来确定,对于网络的层次,以及每一个层次的协议及其功能都是网络体系结构所要描述的内容,因此答案为选项C 。

10.设与某资源相关联的信号量初值为3, 当前为1,若M 表示该资源的可用个数,N 表示等待该资源的进程数,则M ,N 分别是( )。

A.0、1

B.1、0

C.1、2

D.2、0

答:B

【解析】信号量初值是3表示资源数有3个,当前为1表示已经用掉2个,剩余可用的资源数就只有1个了,由于资源有剩余,可见没有其他进程等待使用该资源,故进程数为0。

二、填空题

11.如下的算法分别是后序线索二叉树求给定结点node 的前驱结点与后继结点的算法,请在算法

,其空格处填上正确的语句。设线索二叉树的结点数据结构为(lflag ,lcft ,data ,right ,rflag )

中:lflag=0,lcft 指向其左孩子,lflag=1,left 指向其前驱:rflag=0,right 指向其右孩子,rflag=1,right 指向其后继。

Prior (node , x )

{ if(node !=null)