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

2018年河北经贸大学计算机软件与理论807数据结构考研仿真模拟五套题

  摘要

一、单项选择题

1. 一棵二叉树高度为h ,所有结点的度或为0或为2,则这棵二叉树最少有( )个结点。

A.2h

B.2h ﹣1

C.2h +l

D.h +1

【答案】B

【解析】此树满足哈夫曼树,除根节点外每层有两个节点。

2. 主机甲和乙已建立了TCP 连接, 甲始终以MSS=1KB大小的段发送数据, 并一直有数据发送; 乙每收到一个数据段都会发出一个接收窗口为10KB 的确认段。若甲在t 时刻发生超时时拥塞窗口为8KB , 则从t 时刻起, 不再发生超时的情况下, 经过10个RTT 后, 甲的发送窗口是( )

A.10KB

B.12KB

C.14KB

D.15KB

【答案】A

【解析】发送窗口是接受窗口和拥塞窗口的最小值, 这里接收窗口总是10KB 。拥塞窗口到那个时候是大于10KB 的, 取最小值。

3. 在OSI 参考摸型中, 下列功能需由应用层的相邻层实现的是( )

A. 对话管理

B. 数据格式转换

C. 路由选择

D. 可靠数据传输

【答案】B

【解析】应用层的相邻层即为表示层, 表示层负责管理数据的压缩、加密与解密、格式装换等, 故答案为B 。

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

A. 进程的时间片用完

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

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

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

【答案】A

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

5. 设文件索引节点中有7个地址项,其中4个地址项为直接地址索引,2个地址项是一级间接地址索引,1个地址项是二级间接地址索引,每个地址项大小为4字节,若磁盘索引块和磁盘数据块的大小均为256字节,则可表示的单个文件最大长度是( ).

A.33KB

B.519KB

C.1057KB

D.16513KB

【答案】C

【解析】4个地址项为直接地址索引,其指向的数据块大小4×256B =lKB ,一级间接地址索引可以索引256/4=64个直接地址索引,故2个一级间接地址索引指向的数据块大小为2×64×256B =32KB ,二级间接地址索引为256/4×256/4=4096个直接地址索引,故1个二级间接地址索引指向的数据块大小为4096×256B =1024KB ,共计1KB +32KB +1024KB =1057KB.

6. 下列关于银行家算法的叙述中, 正确的是( )

A. 银行家算法可以预防死锁

B. 当系统处于安全状态时, 系统中一定无死锁进程

C. 当系统处于不安全状态时, 系统中一定会出现死锁进程

D. 银行家算法破坏了死锁必要条件中的“请求和保持”条件

【答案】B

【解析】银行家算法是避免死锁的方法。利用银行家算法, 系统处于安全状态时没有死锁进程, 故答案选B 。

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

A. 都是先进后出

B. 都是后进先出

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

D. 没有共同点

【答案】C

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

8. 设n 是描述问题规模的非负整数, 下面程序片段的时间复杂度是( )。

A. B. C. D.

【答案】A

【解析】其中, 以基本的原操作重复执行的次数作为算法的时间度量。题目中的基本运算是语

句, 设其执行时间为, 则有即。

9. 假定一台计算机的显示存储器用DRAM 芯片实现, 若要求显示分辨率为1600x1200, 颜色深度

为24位, 帧频为85Hz , 显存总带宽的50%用来刷新屏幕, 则需要的显存总带宽至少约为( )。

A.245Mbps

B.979Mbps

C.1958Mbps

D.7834Mbps

【答案】D

【解析】显存的容量=分辨率×色深,带宽=分辨率×色深×帧频,考虑到的时间用来刷新屏幕,故显存总带宽应加倍. 所以需要的显存总带宽至少约为:1600×l200×24×85×2=7834Mbps.

10.静态链表中指针表示的是( )。

A. 下一元素的地址

B. 内存储器的地址

C. 下一元素在数组中的位置

D. 左链或右链指向的元素的地址

【答案】C

【解析】静态链表的一般结构为:struct static_list{ElemType data;int next;}

这种结构是预先分配一个较大的空间,类似于一次申请一个较大的数组,但是元素的增删操作都不会移动元素,只需要移动next 成员就行。因此,静态链表中的指针实际上表示的就是下一个元素在数组中的位置。

11.计算机开后, 操作系统最终被加载到( )

A.BIOS

B.ROM