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

2018年武汉轻工大学数学与计算机学院810数据结构考研强化五套模拟题

  摘要

一、填空题

1. 已知一循环队列的存储空间为

则此循环队列判满的条件是_____ 【答案】

2. 一个字符串中_____称为该串的子串。

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

3. 无用单元是指_____,例_____

【答案】用户不再使用而系统没有回收的结构和变量;

4. 当两个栈共享一存储区时,栈利用一维数组stack(1,,1) 表示,两栈顶指针为top[l]与top[2],则当栈1空时,top[l]为_____,栈2空时,top[2]为_____,栈满时为_____。

【答案】0;n+1;top[l]+l=top[2]

【解析】共享栈的栈底在共享存储区的两端,当栈满时栈顶相邻。

5. 下面程序的功能是用递归算法将一个整数按逆序存放到一个字符数组中。如123存放成321。请填空:

(_____i);

_____.

_____

【答案】a +l ;n%10

【解析】通过递归算法,首先找到最高位的值,将其放到str 对应的数组中,依次反向获取从高位到地位的值,将其放到数组中,完成了将整数逆序放到一个字符数组中。

,其中n >m ,队头和队尾指针分别为front 和rear ,

6. 在单链表中设置头结点的作用是_____。

【答案】方便运算

7. 组成串的数据元素只能是_____。

【答案】字符

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

【答案】n

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

9. 已知链队列的头尾指针分别是f 和r ,则将值x 入队的操作序列是_____。

【答案】S =(LinkedList*)malloc(sizeof (LNode));s ﹣>data =x ;s ﹣>next =r ﹣>next ;r ﹣>next =s ;r =s ;

【解析】队列采用链式存储结构,先分配一个节点的内存,然后在队尾添加该节点。

10.每一棵树都能唯一地转换为它所对应的二叉树。若已知一棵二叉树的前序序列是BEFCGDH ,中序序列是FEBGCHD ,则它的后序序列是_____。设上述二叉树是由某棵树转换而成,则该树的前序序列是_____

【答案】FEGHDCB ;BEF

【解析】树的前序序列对应二叉树的前序序列,该二叉树转换成森林时含三棵树,其第一棵树的前序是BEF 。

11.设用希尔排序对数组{98,36,-9,0,47,23,1,8,10,7}进行排序,给出的步长(也称增

量序列) 依次是4, 2, 1则排序需_____趟,写出第一趟结束后,数组中数据的排列次序_____。

【答案】3; (10,7,-9,0,47,23,1,8,98,36)

12.设有一个空枝,栈顶指针为1000H(十六进制) ,现有输入序列为1,2,3,4,5,经过PUSH ,PUSH ,POP ,PUSH ,POP ,PUSH ,PUSH 之后,输出序列是_____,而栈顶指针值是_____。设栈为顺序找,每个元素占4个字节。

【答案】23;100CH

二、单项选择题

13.若一个有向图具有拓扑排序序列,那么它的邻接矩阵必定为( )。

A. 对称矩阵

B. 稀疏矩阵

C. 三角矩阵

D. —般矩阵

【答案】C

【解析】在图论中,由一个有向无环图的顶点组成的序列,当且仅当满足下列条件时,称为改图的一个拓扑排序:①每个顶点出现且出现一次;②若顶点在序列中排在顶点B 的前面,则在图

中不存在从顶点B 到顶点A 的路径。由拓扑排序的性质知,有向图的邻接矩阵必定为三角矩阵。

14.下列选项给出的是从根分别到达两个叶节点路径上的权值序列, 能属于同一棵哈夫曼树的是( )。

A.24, 10, 5和24, 10, 7

B.24, 10, 5和24, 12, 7

C.24, 10, 10和24, 14, 11

D.24, 10, 5和24, 14, 6

【答案】D

【解析】哈夫曼树是带权路径长度最短的二叉树。由根节点出发到两个叶子节路径中, 第二个被访问的两个结点的权值要么相等, 要么和为根节点的权值, 故B 项错误。同理, 通过第三个被访问的节点排除A 项。C 项, 由两条路径可推出三个叶子节点的权值分别是:3、10和11, 而根据哈夫曼树的定义可知, 权值为3的节点应该和权值为10的结点结合, 故C 项错误。D 项, 反推出有四个叶子节点, 权值分别为:5、5、6和8, 满足哈夫曼树的条件。

15.若一个用户进程通过read 系统调用读取一个磁盘文件中的数据, 则下列关于此过程的叙述中, 正确的是( )。

Ⅰ. 若该文件的数据不在内存, 则该进程进入睡眠等待状态;

Ⅱ. 请求read 系统调用会导致CPU 从用户态切换到核心态;

Ⅲ.read 系统调用的参数应包含文件的名称

A. 仅Ⅰ、Ⅱ

B. 仅Ⅰ、Ⅲ

C. 仅Ⅱ、Ⅲ

D. Ⅰ、Ⅱ和Ⅲ

【答案】A

【解析】对于Ⅰ, 当所读文件的数据不再内存时, 产生中断(缺页中断、缺段中断) , 原进程进入睡眠等待状态(阻塞状态) , 直到所需数据从外村调入内存后, 将该进程唤醒, 使其变为就绪状态。对于Ⅱ, read 系统调用cpu 将从用户态切换到核心态, 从而获取操作系统提供的服务。对于Ⅲ, 在操作

Open 系统调用的参数需要包含文件的系统中, 要读一个文件首先要open 系统调用将该文件打开。

路径名与文件名, 而read 系统调用只需使用open 返回的文件描述符, 并不使用文件名作为参数。Read 系统调用要求用户提供三个输入参数:

①文件描述符; ②buf 缓冲区首址; ③传送的字节数n 。

read 系统调用的功能是试图从fd 所指示的文件中读入n 个字节的数据, 并将它们送至由指针