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

2017年天津大学数据结构复试实战预测五套卷

  摘要

一、应用题

1. 两个字符串s1和s2的长度分别为m 和n 。求这两个字符串最大共同子串算法的时间复杂度

,并简要说明理由。 为T (m ,n )。估算最优的T (m , n )

【答案】最优的T (m ,n )是D (n )。串S2是串S1的子串,且在S1中的位置是1。开始求出最大公共子串的长度恰是串S2的长度。一般情况下,

2. 设目标为 模式为

(1)计算模式p 的nextval 函数值;

(2)不写出算法,只画出利用KMP 算法进行模式匹配时每一趟的匹配过程。

【答案】(1)P 的nextval 函数值为0110132(P 的next 函数值为0111232)。

(2)利用KMP (改进的nextval )算法,每趟匹配过程如下:

第一趟匹配:

abcab (i=5, j=5)

第二趟匹配:

abc (i=7,j=3)

第三趟匹配:

a (i=7,j=l)

第四趟匹配:

(成功)abcabaa (i=15,j=8)

3. 画出同时满足下列两个条件的两棵不同的二叉树。

(1)按前序遍历二叉树的顺序为ABCDE 。

(2)高度为5其对应的树(森林)的高度最大为4。

【答案】(1)满足条件的二叉树如图1所示:

图1

(2)满足条件的二叉树如图2所示:

图2

4. 证明:置换选择排序法产生的初始归并段的长度至少为m (m 是所用缓冲区的长度)。

【答案】证明:由置换选择排序思想,第一个归并段中第一个元素是缓冲区中最小的元素,

,缓以后每选一个元素都不应小于前一个选出的元素,故当产生第一个归并段时(即初始归并段)

冲区中m 个元素中除最小元素之外,其他m-1个元素均大于第一个选出的元素,即当以后读入元素均小于输出元素时,初始归并段中也至少能有原有的m 个元素。证毕。

5. 某32位计算机,CPU 主频为800MHz ,Cache 命中时的CPI 为4, Cache块大小为32字节;主存采用8体交叉存储方式,每个体的存储字长为32位、存储周期为40ns ; 存储器总线宽度为32位,总线时钟频率为200MHz , 支持突发传送总线事务。每次读突发传送总线事务的过程包括:送首地址和命令、存储器准备 数据、传送数据。每次突发传送32字节,传送地址或32位数据均需要一个总线时钟周期。请回答下列问题,要求给出理由或计算过程。

(1)CPU 和总线的时钟周期各为多少?总线的带宽(即最大数据传输率)为多少?

(2)Cache 缺失时,需要用几个读突发传送总线事务来完成一个主存块的读取?

(3)存储器总线完成一次读突发传送总线事务所需的时间是多少?

(4)若程序BP 执行过程中,共执行了100条指令,平均每条指令需进行1.2次访存,Cache 缺失率为5%, 不考虑替换等开销,则BP 的CPU 执行时间是多少?

【答案】

(1)因为CPU 主频为800MHz ,故CPU 的时钟周期为:

总线时钟频率为200MHz ,故总线的时钟周期为:

总线宽度为32bit=4B,故总线带宽为

存块。

(3)—次读突发传送总线事务包括一次地址传送和32B 数据传送:用1个总线时钟周期传输地址;

每隔,第一个体读数据花费40ns ,之后数据启动一个体工作(各进行1次存取)

存取与数据传输重叠;用8个总线时钟周期传输数据。读突发传送总线事务时间

s

BP 的CPU 执行时间包括Cache 命中时的指令执行时间和Cache 缺失时带来的额外开销。(4)

(2)因为Cache 块大小为32B , 因此Cache 缺失时需要一个读突发传送总线事务读取一个贮

即执行时间=指令条数

:时钟周期*命中率+访存次数*缺失率*缺失损失。命中时的指令执行时指令执行过程中

的CPU 执行时间

:Cache 缺失时的额外开

6. 将算术表达式((a+b)+c*(d+e)+f)*(g+h)转化为二叉树。

【答案】该算术表达式转化的二叉树如图所示。

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

某一工程作业的网络图如图1所示,其中箭头表示作业,箭头边的数字表示完成作业所需的天

数。箭头前后的圆圈表示事件,圆圈中的数字表示事件的编号。用事件编号的序列(例如0-2-7-9-11)

表示进行作业的路径。

完成此工程的关键路径是(A )完成此工程所需的最少天数为(B )天,此工程中具有最大充

,充裕天数是(D )裕天数的事件是(C )。关键路径上的事件的充裕天数是(E )。

图1

【答案】A. 0-2-6-9-11; B. 20; C.事件顶点1、5和7各充裕两天;D. 4天;E. 0

8. 如果两个串含有相等的字符,能否说它们相等?

【答案】仅从两串含有相等的字符,不能判定两串是否相等,两串相等的充分必要条件是两串长度相等且对应位置上的字符相同(即两串串值相等)。

二、算法设计题