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

2018年广西师范学院计算机与信息工程学院818计算机基础之数据结构考研基础五套测试题

  摘要

一、单项选择题

1. 在文件“局部有序”或文件长度较小的情况下,最佳内部排序的方法是( )。

A. 直接插入排序

B. 起泡排序

C. 简单选择排序

D. 快速排序

【答案】A

【解析】当待排序列基本有序时,对冒泡排序来说,若最大关键字位于序列首部,则每趟排序仅能使其“下沉”一个位置,要使其下沉到底部仍需n -1趟排序,也即时间复杂度仍为0(n2)。而对简单选择排序来说,其比较次数与待排序列的初始状态无关;归并排序要求待排序列已经部分有序,而部分有序的含义是待排序列由若干有序的子序列组成,即每个子序列必须有序,并且其时间复杂度为;直接插入排序在待排序列基本有序时,每趟的比较次数大为降低,也

2即n -1趟,比较的时间复杂度由O(n) 降至O(n)。

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

A. 网络的层次

B. 每一层使用的协议

C. 协议的内部实现细节

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

【答案】C

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

3.

参考模型的网络层提供的是( )。

A. 无连接不可靠的数据报服务

B. 无连接可靠的数据报服务

C. 有连接不可靠的虚电路服务

D. 有连接可靠的虚电路服务

【答案】A

【解析】TCP/IP的网络层向上只提供简单灵活的、无链接的、尽最大努力交付的数据服务, 因此答案是A 。

4. 用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时( )。

A. 仅修改队头指针

B. 仅修改队尾指针

C. 队头、队尾指针都可能要修改

D. 队头、队尾指针都要修改

【答案】C

【解析】用不带头结点的单链表存储队列,一般删除操作仅修改队头指针,但当队列中只有一个结点时,进行删除操作要将队头、队尾指针都修改成NULL 。

5. n 个结点的完全有向图含有边的数目( )。

A.n*n

B.n(n+1)

C.n/2

D.n*(n-1)

【答案】D

【解析】在有向图中,如果任意两个顶点之间都存在边,则称为有向完全图。顶点个数为n 的无向图,最多有条边。如是有向图,需要在无向图的最多边的基础上乘以2,则为n(n-1) 。

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

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

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

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

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

【答案】B

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

7. 某基于动态分区存储管理的计算机,,其主存容量为55MB(初始为空闲)采用最佳适配(BestFit)算法,分配和释放的顺序为:分配15MB 、分配30MB 、释放15MB 、分配8MB 、分配6MB ,此时主存中最大空闲分,区的大小是( ).

A.7MB

B.9MB

C.10MB

D.15MB

【答案】B

【解析】对于简单分区内存分配,需要将进程的所有代码和数据装入内存. 故55MB 先分配15MB 余40MB ,再分配30MB 后余10MB ,释放15MB 后出现一个15MB 和一个10MB 的空闲空间,分配8MB 时按最佳适配(BestFit)算法应该使用10MB 的空闲块,余2MB 的碎片,分配6MB 时占用15MB 的空间余9MB 的碎片(空闲空间),因此最大空闲区为9MB.

8. 主机甲和主机乙之间已建立了一个TCP 连接,TCP 最大段长度为1000字节,若主机甲的当前拥塞窗口为4000字节,在主机甲向主机乙连续发送两个最大段后,成功收到主机乙发送的对第一个段的确认段,确认段中通告的接收窗口大小为2000字节,则此时主机甲还可以向主机乙发送的最大字节数是( ).

A.1000

B.2000

C.3000

D.4000

【答案】A

【解析】发送方的发送窗口的上限值应该取接收方窗口和拥塞窗口这两个值中较小的一个,于是此时发送方的发送窗口为min{4000,2000) =2000字节,由于发送方还没有收到第二个最大段的确认,所以此时主机甲还可以向主机乙发送的最大字节数为2000-1000=1000字节,正确选项为A.

9. 中断处理和子程序调用都需要压桟以保护现场, 中断处理一定会保存而子程序调用不需要保存其内容的是( )。

A. 程序计数器

B. 程序状态字寄存器

C. 通用数据寄存器

D. 通用地址寄存器

【答案】B 。

【解析】中断处理与子程序调用最大的区别是中断处理程序与正在运行的进程可能无关, 而子程序调用与正在运行的进程有关。中断是要打断处理器的正常工作次序, 并要求其去处理某一事件的一种常用手段。因此, 除了要保护当前程序的地址, 计数器(指针) 和数据寄存器以外, 还需要保存程序状态字。子程序调用是与当前进程有关, 是正在运行的程序有意安排执行的, 这一类调用发生的时间以及位置具有确定性, 处于同一个进程内, 因此不需要保存程序状态字。所以中断处理和子程序调用不同的区别是中断处理程序必定会保存程序状态字寄存器。

10.设X 是树T 中的一个非根结点,B 是T 所对应的二叉树。在B 中,X 是其双亲的右孩子,下列结论正确的是( )。

A. 在树T 中,X 是其双亲的第一个孩子