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