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

2018年江苏师范大学计算机科学与技术学院862管理信息系统与数据结构之数据结构考研核心题库

  摘要

一、填空题

1. 在顺序存储的二叉树中,编号为i 和j 的两个结点处在同一层的条件是_____。 【答案】

要加“虚结点”。

设编号为i 和j 的结点在顺序存储中的下标为s 和t , 则结点i 和j 在同一层上的条件是

2. 深度为H 的完全二叉树至少有_____个结点:至多有_____个结点; H 和结点总数N 之间的关系是_____。 【答案】

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

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

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

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

4. 中缀式(c-d)对应的前缀式为_____,若a=l,b=2, c=3, d=4, 则后缀式

运算结果为_____。 【答案】

【解析】中缀式相当于中序遍历,前缀式相当于前序遍历,后缀式相当于后序遍历。

5. 如某二叉树有20个叶结点,有30个结点仅有一个孩子,则该二叉树的总结点数为_____。

【答案】69

【解析】二叉树叶结点数为20, 则度为2的结点数为19, 所以总的结点数为20+19+30=69。

第 2 页,共 69 页 【解析】用顺序存储结构存储二叉树时,要按完全二叉树的形式存储,非完全二叉树存储时,的

6.

【答案】5

7. 串是一种特殊的线性表,_____;其特殊性表现在_____;串的两种最基本的存储方式是_____、两个串相等的充分必要条件是_____。

【答案】其数据元素都是字符;顺序存储;链式存储;串的长度相等且两串中对应位置的字符也相等

8. 对于一个具有n 个结点的二叉树,当它为一棵_____二叉树时具有最小高度, 当它为一棵_____时,具有最大高度。

【答案】完全;只有一个叶结点的二叉树

9. 设T 是一棵结点值为整数的二叉排序树,A 是一个任意给定的整数。在下面的算法中,free_tree(T)在对二叉排序树丁进行后序遍历时释放二又排序树T 的所有结点

,首先在二叉排序树T 中查找值为A 的结点,根据查找情况分别进行如下

处理:(1)若找不到值为A 的结点,则返回根结点的地址(2)若找到值为A 的结点,则删除以此结点为根的子树,并释放此子树中的所有结点,若值为A 的结点是查找树的根结点,删除后变成空的二叉树,则返NULL ; 否则返回根结点的地址。

【答案】

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

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

第 3 页,共 69 页 =_____

二、单项选择题

11.向一个栈顶指针为h 的带头结点的链栈中插入指针S 所指的结点时,应执行( )。

A.h ﹣>next =s ;

B.s ﹣>next =h ;

C.s ﹣>next =h ;h ﹣>next =s ;

D.s ﹣>next =h ﹣next ;h ﹣>next =s ;

【答案】D

【解析】本题是向一个链栈中插入结点,可从头结点后插入。先将s 结点指向第一个头结点之后的结点之前,再将头结点指向s 结点。

12.对n 个记录的线性表进行快速排序为减少算法的递归深度,以下叙述正确的是( )。

A. 每次分区后,先处理较短的部分

B. 每次分区后,先处理较长的部分

C. 与算法每次分区后的处理顺序无关

D. 以上三者都不对

【答案】A

【解析】令递归函数为f ,第一次进行递归函数认为递归深度为1,以后从深度为n 的递归函数f 中再调用递归函数f ,此时深度为n+1。整个f 的最大深度为递归深度。

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

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

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

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

A. 仅Ⅰ、Ⅱ

B. 仅Ⅰ、Ⅲ

C. 仅Ⅱ、Ⅲ

D. Ⅰ、Ⅱ和Ⅲ

【答案】A

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

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

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

第 4 页,共 69 页