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

2017年哈尔滨工业大学数据结构之数据结构(C语言版)考研复试核心题库

  摘要

一、应用题

1. 主机H 通过快速以太网连接Internet , IP地址为

题 a 表

服务器S 的IP 地址为211.68.71.80。

H 与S 使用TCP 通信时,在H 上捕获的其中5个IP 分组如题a 表所示。

请回答下列问题。

(1)题a 表中的IP 分组中,哪几个是由H 发送的? 哪几个完成了TCP 连接建立过程? 哪几个在通过快速以太网传输时进行了填充?

(2)根据题a 表中的IP 分组,分析S 已经收到的应用层数据字节数是多少?

(3)若题a 表中的某个IP 分组在S 发出时的前40字节如题b 表所列,则该IP 分组到达H 时经过了多少个路由器?

题 b 表

注:IP 分组头和TCP 段头结构分别如题a 图、题b 图所示:

题a 图IP 分组头结构

题b 图TCP 段头结构

【答案】(1)由于题a 表中1、3、4号分组的源IP 地址(第13〜16字节)均为192.168.0.8 ,所 以1、3、4号分组是由H 发送的。 (coa80008H )

,seq=846b41c5H, 2题a 表中1号分组封装的TCP 段的FLAG 为02H (即SYN=1,ACK=0)

,seq=e059 9feffl,ack=846b41c6H,号分组封装的TCP 段的 FLAG 为12H (即 SY=1, ACK=1)

3号分组封装的TCP 段的FLAG 为10H (即 ACK=1)seq=846b41c6H, ack=e059 9ff0H,,所以 1、2、3号分组完成了 TCP 连接建立过程。

5号分组的总长度为40由于快速以太网数据帧有效载荷的最小长度为46字节,表中3、(28H )字节,小于46字节,其余分组总长度均大于46字节,所以3、5号分组在通过快速以太网传输时进行了填充。

(2)由3号分组封装的TCP 段可知,发送应用层数据初始序号为846b 41c6H, 由5号分组封装的TCP 段可知,ack 为846b 所以5号已经收到的应用层数据的字节数

(3)由于S 发出的IP 分组的标识=6811H,所以该分组所对应的是题47-a 表中的5号分组。S 发出的IP 分组的TTL=40H=64, 5号分组的TTL=31H=49, 64-49=15。所以,可以推断该IP 分组到达H 时经过了15个路由器。

2. 在堆排序、快速排序和合并排序中:

(1)若只从存储空间考虑,则应首先选取哪种排序方法,其次选取哪种排序方法,最后选取哪种排序方法?

(2)若只从排序结果的稳定性考虑,则应选取哪种排序方法? (3)若只从平均情况下排序最快考虑,则应选取哪种排序方法?

(4)若只从最坏情况下排序最快并且要节省内存考虑,则应选取哪种排序方法? 【答案】(1)应首先选取堆排序方法,其次选取快速排序方法,最后选取归并排序方法。 (2)应选取归并排序方法 (3)应选取快速排序方法 (4)应选取堆排序方法

3. 已知两个各包含IV 和M 个记录的排好序的文件能在时间内合并为一个包含个

记录的排好序的文件。当有多于两个排好序的文件要被合并在一起时,只需重复成对地合并便可完成。合并的步骤不同,所需花费的记录移动次数也不同。现有文件,FI ,F2,F3,F4,F5,各有记录数为20,30,10,5和30,试找出记录移动次数最少的合并步骤。

,【答案】类似最优二叉树(哈夫曼树)可先合并含较少记录的文件,后合并较多记录的文件,使移动次数减少,如图所示的哈夫曼树。

4. 在改进了的(无回溯)字符串模式匹配中,要先求next 数组的值。下面是求nextval 值的算法。

{在模式P 中求nextval 数组的值

}

算法中第4行有【答案】第4行的

第六行中也有

两处比较语句相同。请分析说明此两处比较

语句的含义是什么? 分析此算法在最坏情况下的时间复杂度是多少?

语句是测试模式串的第J 个字符是否等于第K 个字符,如是,则

语句的意义是,当第J 个字符在模式匹配中失

指针J 和K 均増加1,继续比较。第6行的

配时,若第K 个字符和第J 个字符不等,则下个与主串匹配的字符是第K 个字符;否则,若第K 个字符和第J 个字符相等,则下个与主串匹配的字符是第K

个字符失配时的下一个(即

)。该算法在最坏情况下的时间复杂度