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

2018年内蒙古工业大学信息工程学院810数据结构考研仿真模拟五套题

  摘要

一、单项选择题

1. 某主机的IP 地址为, 子网掩码为。若该主机向其所在子网发送广播分组, 则目的地址可以是( )。 A. B. C. D.

【答案】D 。

【解析IPv4地址中的特殊地址, 直接广播地址, 也就是把主机位全部设置为1, 这里77的二进制是01001101, 子网掩码252的二进制是11111100, 由此可以看到77的前6位作为子网位, 后四位

, 也就是, 因此答案是D 。 作为主机位, 由此可以知道其广播地址是

2. 若数据元素序列11,12,13,7,8,9,23,4,5是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是( ).

A.. 起泡排序

B. 插入排序

C. 选择排序

D. 二路归并排序

【答案】B

【解析】经过两趟排序后,A 项起泡排序的结果是两个最小或最大的元素放到了序列的最终位置;B 项插入排序的结果是前三个数有序即可;C 项选择排序结果是两个最小的元素在最前面按顺序排好;D 项二路归并排序的结果是长度为4的子序列有序,即前4个数排好序,接下来的4个数排好序. 显然题目中的元素序列只能是插入排序第二趟排序后的结果,因此,B 项正确.

3. 下列关于中断方式和DMA 方式比较的叙述中, 错误的是( )

A. 中断方式请求的是方式请求的是CPU 处理时间, DMA 方式请求的是总线使用权

B. 中断响应发生在一条指令执行结束后, 中断响应发生在一条指令执行结束后, DMA 响应发生在一个总线事务完成后

C. 中断

送由硬件完成

D. 中断

设备

第 2 页,共 47 页 方式下数据传送通过软件完成, 方式下数据传送通过软件完成, DMA 方式下数据传方式适用于所有外部设备, 方式适用于所有外部设备, DMA 方式仅适用于快速外部

【答案】D

【解析】中断处理方式:在

与设备输入每个数据的过程中, 由于无需CPU 干预, 因而可使CPU

设备并行工作。仅当输完一个数据时, 才需CPU 花费极短的时间去做些中断处理。因此中断

设备申请使用的是CPU 处理时间, 发生的时间是在一条指令执行结束之后, 数据是在软件的控制下完成传送。而DMA 方式与之不同。DMA 方式:数据传输的基本单位是数据块, 即在CPU 与

之间, 每次传送至少一个数据块, DMA 方式每次申请的是总线的使用权, 所传送的数据是从设备直接送入内存的或者相反; 仅在传送一个或多个数据块的开始和结束时, 才需CPU 干预, 整块数据的传送是在控制器的控制下完成的。答案D 的说法不正确。

4. 已知三叉树T 中6个叶结点的权分别是2, 3, 4, 5, 6, 7, T 的带权(外部) 路径长度最小是 ( )

A.27

B.46

C.54

D.56

【答案】B

【解析】利用三叉树的6个叶子结点的权构建最小带权生成树, 最小的带权路径长度为

5. 下列选项中, 不可能在用户态发生的事件是( )。

A. 系统调用

B. 外部中断

C. 进程切换

D. 缺页

【答案】C 。

【解析】我们在学习操作系统中知道, 任何一个进程在现代操作系统中为了共享和保护, 设定了用户态和内核态(可以通过设置软、硬件标志位来实现) , 在用户态运行用户的程序, 在内核运行系统的程序。所以, 从选项来看, 系统调用可以在任何态发生, 用户可以发起系统调用, 系统也可以; 外部中断是不可控的, 也会在任何时刻发生, 缺页的发生也是不可控的, 可以发生在用户代码之间; 而进程切换却不会在用户态发生。我们可以考虑一下情形, 进程切换是在什么时候发生的, 进程切换前必定运行的是进程调度, 只有进程调度选择了下一次被调度的进程, 进程切换才可以进行。进程调度是scheduler , 进程切换是dispather , 这体现了现代操作系统策略与机制分离的设计思想。所以, 进程切换必定不会在用户态发生(所谓发生指其起始的源头时刻) , 必定是在内核态(进程调度) 发生的。

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

A. 进程的时间片用完

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

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

第 3 页,共 47 页

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

【答案】A

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

7. 广义表A =(a,b ,(c,d) ,(e,(f,g))) , 则式子Head(Tail(Head(Tail(Tail(A)))))的值为( )。

A.(g)

B.(d)

C.c

D.d

【答案】D

【解析】head 操作就是得到广义表中第一个的原子。tail 操作就是得到除第一个原子外剩下元素构成的表。也就是tail 得到的元素需要在外层再加一个( )。

8. 在双向链表指针P 的结点前插入一个指针q 的结点操作是( )。

A.p ﹣>llink =q ;q ﹣>Rlink =p ;p ﹣>Llink ﹣>Rlink =q ;q ﹣>Llink =q ;

B.p ﹣>llink =q ;p ﹣>Llink ﹣>Rlink =q ;q ﹣>Rlink =p ;q ﹣>Llink =p ﹣>Llink ;

C.q ﹣>Rlink =p ;q ﹣>Llink =p ﹣>L1ink ;p ﹣>L1ink ﹣>Rlink =q ;p ﹣>Llink =q ;

D.q ﹣>llink =p ﹣>llink;q ﹣>Rlink =q ;p ﹣>llink =q ;p ﹣>llink =q ;

【答案】C

9. 假定主存地址为32位, 按字节编址, 主存和Cache 之间采用直接映射方式, 主存块大小为4个字, 每字32位, 采用回写(Write Back) 方式, 则能存放4K 字数据的Cache 的总容量的位数至少是( )。

A.146k

B.147K

C.148K

D.158K

【答案】B

【解析】Cache 和主存直接映射方式的规则为:主存储器分为若干区, 每个区与缓存容量相同; 每个区分为若干数据块, 每个块和缓存块容量相同; 主存中某块只能映象到Cache 的一个特定的块中。本题中, Cache 总共存放4K 字数据, 块大小为4个字, 因此cache 被分为

第 4 页,共 47 页 个块, 由10位表示。块内共16字节, 所以由4位表示, 于是标记位为32-10-14=18位。所以, Cache 的每一行需