【考研题库】2021年南京大学软件学院842数据结构、软件工程、操作系统和计算机网络之数据结构与算法

版权声明

本书根据历年考研大纲要求并结合历年考研真题按照考研题型进行了整理编写,涵盖了这一考研科目重点试题及高频试题并给出了详细参考答案,针对性强,有的放矢,提高复习效率,是考研复习首选资料。

青岛掌心博阅电子书依法对本书享有专有著作权,同时我们尊重知识产权,对本电子书部分内容参考和引用的市面上已出版或发行图书及来自互联网等资料的文字、图片、表格数据等资料,均要求注明作者和来源。但由于各种原因,如资料引用时未能联系上作者或者无法确认内容来源等,因而有部分未注明作者或来源,在此对原作者或权利人表示感谢。若使用过程中对本书有任何异议请直接联系我们,我们会在第一时间与您沟通处理。

因编撰此电子书属于首次,加之作者水平和时间所限,书中错漏之处在所难免,恳切希望广大考生读者批评指正。

特别说明

本书由本机构编写组多位高分在读研究生按照考试大纲、真题、指定参考书等公开信息潜心整理编写,仅供考研复习参考,与目标学校及研究生院官方无关,如有侵权请联系我们立即处理。

一、应用题

1.己知一棵非空二叉树,其按中根和后根遍历的结果分别为:

中根:CGBAHEDJFI

后根:GBCHEJIFDA

试将这样的二叉树构造出来。若已知先根和后根的遍历结果,能否构造出这棵二叉树,为什么?

【答案】由中根和后根所确定的二叉树如下图2所示。

图1由森林转变的二叉树

图2二叉树

前根序列和后根序列不能唯一确定一棵二叉树。因为根据中根序列,结合前根或后根序列可以把二叉树区分出左右子树来。而前根序列和后根序列访问左右子树是顺序连在一起的,故无法区分出左右子树来,那么也就无法确定一棵二叉树了。

2.阅读下列二叉树算法。每个节点有二个域:lchild,element,rchild。

(1)对以p为根的二叉树执行什么功能?

(2)以下图所示的二叉树调用此算法,则的执行结果是什么?

(3)执行中,堆栈s中元素个数最多时为多少?给出该时刻栈中元素的情况。

【答案】(1)其功能是调换二叉树的每个结点的左右子树。

(2)执行的结果如下图所示。

(3)堆栈s中元素个数最多时为二叉树的深度。此时桟中的元素是未被访问的指向左子树的根结点的指针。

3.用置换-选择排序法,产生文件F(长度为n)的初始归并段。设内存缓冲区的长度为m,问:

(1)平均情况下,初始归并段的长度为多少?为什么?

(2)初始归并段的长度最长与最短时,其长度分别为多少?在何种情况下出现,简单解释一下。

【答案】(1)平均情况下,初始归并段的长度为2m。这个证明是E.F.Moore在1961年从置换-选择排序和扫雪机的类比中得出的。

假设一台扫雪机在环形路上匀速行进扫雪,下雪的速度也是均匀的(即每小时落到地面上的雪量相等),雪均匀地落在扫雪机的前、后路面上,边下雪边扫雪。显然,在某个时刻之后,整个系统达到平衡状态,路面上的积雪总量不变。且在任何时刻,整个路面上的积雪都形成一个均匀的斜面,紧靠扫雪机前端的积雪最厚,其深度为,而在扫雪机刚扫过的路面上的积雪深度为零。

若将环形路伸展开来,假设此刻路面积雪的总体积为,环形路一圈的长度为,由于扫雪机在

任何时刻扫走的雪的深度均为,则扫雪机在环形路上走一圈扫掉的积雪体积为,即。

把置换-选择排序和此类比,工作区中的记录好比路面的积雪,输出的MINIMAX记录好比扫走的雪,重新输入的记录好比新下的雪,当关键字为随机数的时候,新记录的关键字比MINIMAX 大或小的概率相等。若大,则属于当前的归并段(好比落在扫雪机前面的积雪,在这一圈中将被扫走);若小,则属于下一归并段(好比落在扫雪机后面的积雪,在下一圈中不能扫走)。所以,得到一个初始归并段好比扫雪机走了一圈。假设工作区的容量为w,那么置换置换一选择排序所得到的初始归并段长度的期望值便为。

(2)当置换-选择排序的缓冲区容量有一定宽度,使得初始顺串形成时,若其输入文件为基本有序(如递增次序),即置换进入中的记录关键字大于刚选出的,则可获得最长的初始顺串。此时,最长初始顺串长度为输入文件的长度值,即。

若输入文件为基本逆序时,即置换进入中的记录关键字小于刚选出的,则可使得初始顺串最短。其初始顺串长度为宽度值。

4.在一棵表示有序集S的二次搜索树(Binary Search Tree)中,任意一条从根到叶子结点的路径将S分为3部分:在该路径左边结点中的元素组成集合S1;在该路径上的结点中的元素组成集合S2;在该路径右边结点中的元素组成集合S3。。对于任意的,是否总有?为什么?

【答案】按照A、B和C的划分,对于任意的,在B中一定可找到a的最近祖先,记为d,a在d的左子树中。有四种可能:①b=d。这时,因而成立;②d在b的左子树中,这时,因而成立;③d在b的右子树中,这时由于a也在b的右子树中,有,因而

不成立;④b在d的右子树中,这时,因而成立。因此,可得出结论,不成立,原因是d可能在d的右子树中。

对于任意的和,也有对称的结论,不成立。

对于任意的和,按照A、B和C的划分,可设d和e是B中分别为a和c在B中最近祖先,a和c分别在d的左子树和e的右子树中。有两种可能:①d在e的左子树中,这时有,即成立;②e在d的右子树中,这时,即成立。因此,无论如何成

立。

相关文档
最新文档