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

2017年湘潭大学信息工程学院870数据结构(二)[专业硕士]考研强化模拟题

  摘要

一、填空题

1. 对于一个具有n 个结点的单链表,在已知的结点半p 后插入一个新结点的时间. 复杂度为_____,在给定值为x 的结点后插入一个新结点的时间复杂度为_____。

【答案】

【解析】第一种情况只需直接修改指针的指向。第二种情况必须从头结点遍历找到x 的结点。

2. N 个顶点的连通图用邻接矩阵表示时,该矩阵至少有_____个非零元素。

【答案】2(N-1)

【解析】所谓连通图一定指的是无向图,有向图会称作强连通图。连接N 个顶点,至少需要N-1条边就可 以了。由于无向图的每一条边同时关联了两个顶点。因此用邻接矩阵表示时,该矩阵至少有2(N-1)个非零元素。

3. 关键码序列(Q ,H ,C ,Y ,Q ,A ,M ,S ,R ,D ,F ,X ),要按照关键码值递增的次序进行排序,若采用初始步长为4的希尔排序法,则一趟扫描的结果是_____; 若采用以第一个元素为分界元素的快速排序法,则扫描一趟的结果是_____。

【答案】(Q ,A ,C ,S ,Q ,D ,F ,×,R ,H ,M ,Y ); (F ,H ,C ,D ,a ,A ,M ,Q ,R ,S ,Y ,X )

【解析】希尔排序的基本思想是:先将整个待排记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。

快速排序(quicksort )的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。

4. 在一个具有n 个单元的顺序栈中,假定以地址高端(即下标为n 的单元)作为栈底,以top 作为栈顶指针,则当向栈中压入一个元素时,top 的变化是top=_____。

【答案】

【解析】由于栈底在地址高端,栈中压入一个元素时,栈顶向地址底端移动一个单位,

所以

5. 按LSD 进行关键字排序,除最次位关键字之外,对每个关键字进行排序时,只能用_____的排序方法。

【答案】稳定

6. 设正文串长度为n ,模式串长度为m ,则串匹配的KMP 算法的时间复杂度为_____。

【答案】

7. 表达式

【答案】

8. 在n 个顶点的非空无向图中,最多有_____个连通分量。

【答案】n

【解析】当n 个顶点之间没有边,都是孤立的顶点时,有n 个连通分量。

9. 设有两个算法在同一机器上运行,其执行时闻分别为要使前者快于后者,n 至少为_____。

【答案】15

【解析】当时,而

,时,

10.—个字符串中_____称为该串的子串。

【答案】任意个连续的字符组成的子序列

的后缀表达式是_____。

二、选择题

11.在OSI 参考模型中,自下而上第一个提供端到端服务的层次是( )。

A. 数据链路层 B. 传输层 C. 会话层 D. 应用层 【答案】B

【解析】题目中指明了这一层能够实现端到端传输,也就是端系统到端系统的传输,数据链路层主要负责传输路径上相邻结点间的数据交付,这些结点包括了交换机和路由器等数据通信设备,这些设备不能被称为端系统,因此数据链路层不满足题意。题目中指明了这一层能够实现传输,会话层只是在两个应用进程之间建立会话而已,应用层只是提供应用进程之间通信的规范,都不涉及传输。所以本题答案应该是B 项。在OSI 模型中网络层提供的是主机到主机的通信服务。

12.有向带权图如题图所示,若采用迪杰斯特拉(Dijkstra )算法求从源点a 到其他各顶点的最短路径,则得到的第一条最短路径的目标顶点是b ,第二条最短路径的目标顶点是c ,后续得到的其余各最短路径的目标顶点依次是( )。

题图有向带权图

A.d , e , f

B.e , d , f C.f , d , e D.f , e , d 【答案】C 。

【解析】本题主要考查Dijkstra 算法的思想和解题步骤。题目执行算法过程中各步的状态如下表所示。

执行Dijkstra 算法过程中各步的状态表,故后续目标顶点依次为f ,d , e 。

13.某文件占10个磁盘块,现要把该文件磁盘块逐个读入主存缓冲区,并送用户区进行分析。假设一个缓冲区与一个磁盘块大小相同,

把一个磁盘块读人缓冲区的时间为传送到用户区的时间是

CPU 对一块数据进行分析的时间为

构下,读人并分析完该文件的时间分别是( )。

A.

B.

C.

D. 【答案】B

【解析】这是一个简单的缓冲区的问题。由于缓冲区的访问是互斥的,所以对单一缓冲区,从磁盘写入和读 出到用户区的操作必须串行执行,也就是要保证互斥操作。而CPU 对数据的分析与从用户区读数据也是需要互斥操作,但是CPU 分析与从磁盘写入缓冲区的操作可以并行。从本题看,由于分析所用的时间小于从磁盘写入 缓冲区的时间,因此,CPU 会空闲。单缓冲区的

将缓冲区的数据

,在单缓冲区和双缓冲区结