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

2017年长春师范大学数据结构(同等学力及跨学科加试)复试实战预测五套卷

  摘要

一、应用题

1. 在如图1所示的伙伴系统中,回收两块首地址分别为768及128、大小为的存储块,请画出回收后该伙伴系统的状态图。

图1

【答案】因为

小为

因为所以768和所以首址大小为互为伙伴,伙伴合并后,首址为768,块大的块和首址512、大小为的块合并,成为首址

将其插入可利用空间表中。回其伙伴地址为512、;大小为的空闲块。因为收后该伙伴系统的状态图如图2所示:

图2 回收后该伙伴系统的状态图

2. 请写出应填入下列叙述中( )内的正确答案。

排序有各种方法,如插入排序、快速排序、堆排序等。

设一数组中原有数据如下:15,13,20,18,12,60。下面是一组用不同排序方法进行一遍排序后的结果。

( )排序的结果为:12,13,15,18,20,60

( )排序的结果为:13,15,18,12,20,60

( )排序的结果为:13,15,20,18,12,60

( )排序的结果为:12,13,20,18,15,60

【答案】①快速排序②起泡排序③直接插入排序④堆排序

3. 设度为m 的树采用多重链表存储,毎个结点有m+1个域,其中有1个数据域,m 个指向孩子的指针。 则空指针的数目是多少?说明这种存储方式的利弊。

【答案】(1)空指针数目:n (n>0)个结点的m 度树共有nm 个链域,除根结点外,每个结点均有一个指针所指,故该树的空链域有nm-(n-1)=n(m-l )+1个。

(2)利弊:这种存储结构统一,便于处理但空链域造成存储效率低。

4.

设与记录

对应的关键字分别是

进行交换。

之前全部记录(其的关键字一定如果存在

使得

且成立,试证明经过一趟起泡后,一定有记录与值。由题假设知中包括在之前且则即说明和【答案】起泡排序思想是相邻两个记录的关键字比较,若反序则交换,一趟排序完成得到极是反序;设对于)中关键字最大为,故经过起泡排序前i-2次比较后,

为又因故和Rf 为反序,由此可知和必定交换,证毕。

5. 带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径,假设从初始顶点到目标顶点之间存在路径,现有一种解决该问题的方法:

①该最短路径初始时仅包含初始顶点,令当前顶点为初始顶点; ②选择离最近且尚未在最短路径中的顶点V ,加入到最短路径中,修改当前顶点

请证明之;否则请举例说明。

【答案】题目中方法不一定能(或不能)求得最短路径。举例说明:

图(a )

图(b )

图(a )中,假设初始顶点1到目标顶点4之间有一条边,权值x=2。显然图(a )中这顶点1和顶点4之间的最短路径长度为2。若按照题目中给定的方法找到的路径为初始顶点1经过中间结点2、3到目标顶点4, 即初始顶

点一目标顶点4, 所经过的边的权值分别为 ③重复步骤②,直到是目标顶点时为止。请问上述方法能否求得最短路径? 若该方法可行,

显然,

因此按照题目中给定的方法所求得的路径并不是这两个顶点之间的最短路径。

图(b )中,假设初始顶点为1、目标顶点为4, 欲求从顶点1到顶点4之间的最短路径。显然,按照题目中给定的方法无法求出顶点1到顶点4的路径,而事实上顶点1到顶点4的最短路径为1到4。

6. 画出对算术表达式

表所示。

表 操作数栈和运算符找的变化过程

求值时操作数栈和运算符栈的变化过程。 求值,过程如【答案】设操作数栈是opnd ,运算符栈是optr ,对算术表达式

7. 在模试匹配KMP 算法中所用失败函数的定义中,为何要求

真子串?且为最大真子串? 两头匹配的

【答案】失败函数(即next )的值只取决于模式串自身,若第j 个字符与主串第i 个字符失配时,假定主串不回溯,模式串用第k (即next[j]个字符与第i 个相比,有为了不因模式串右移与主串第i 个字符比较而丢失可能的匹配,对于上式中可能存在的多个k 值,应取其中最大的一个。这样,因j-k 最小,即模式串向右滑动的位数最小,避免因右移造成可能匹配的丢失。