2017年新疆师范大学计算机应用基础之数据结构(C语言版)复试仿真模拟三套题
● 摘要
一、应用题
1. 简述广义表属于线性结构的理由。
【答案】广义表中的元素,可以是原子,也可以是子表,即广义表是原子或子表的有限序列,满足线性结构的特性:在非空线性结构中,只有一个称为“第一个”的元素,只有一个称为“最后一个”的元素,第一元素有后继而没有前驱,最后一个元素有前驱而没有后继,其余每个元素有唯一前驱和唯一后继。从这个意义上说,广义表属于线性结构。
2. 假设计算机系统采用CSCAN (循环扫描)磁盘调度策略。使用2KB 的内存空间记录16384个磁盘块的空闲状态。
(1)请说明在上述条件下如何进行磁盘空闲状态的管理。
(2)设某单面磁盘旋转速度为每分钟6000转,每个磁道有100个扇区,相邻磁道间的平均移动时间为lms 。若在某时刻,磁头位于100号磁道处,并沿着磁道号增大的方向移动(如下图
,所示)磁道号请求队列为50, 90, 30, 120, 对请求队列中的每个磁道需要读取1个随机分布的扇区,则读完这4个扇区总共需要多少时间? 要求给出计算过程。
图
SSD 等),(3)如果将磁盘替换为随机访问的FLash 半导体存储器(如U 盘、是否有比CSCAN
更高效的磁盘调度策略? 若有,给出磁盘调度策略的名称并说明理由;若无,说明理由。
【答案】(1)采用位示图法管理磁盘空闲块,每一位表示一个磁盘块的状态,共需要16384/32=512个字节即2KB 的空间,正好可放在系统提供的内存中。
(2)采用CSCAN 调度算法,访问磁道的顺序和移动的磁道数如下表所示:
故移动的磁道数为20+90+20+40=170, 所花的时间为170ms 。由于转速为
花的时间为0.4ms 。综上所述,读取磁道上所有扇区所花的总时间为则平均旋 转延迟为5ms ,总的旋转延迟时间为20ms ,读取一个扇区的平均时间为0.1ms , 故读取4个扇区所
(3)采用先来先服务(FCFS )调度策略更高效,因为Flash 半导体存储器的物理结构不需要考虑寻道时间和旋转延迟,可直接按请求的先后顺序服务。
3. 主机H 通过快速以太网连接Internet , IP地址为服务器S 的IP 地址为211.68.71.80。H 与S 使用TCP 通信时,在H 上捕获的其中5个IP 分组如题a 表所示。
题 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个路由器。
4. 设目标为模式为
(1)计算模式p 的nextval 函数值;
(2)不写出算法,只画出利用KMP 算法进行模式匹配时每一趟的匹配过程。
【答案】(1)P 的nextval 函数值为0110132(P 的next 函数值为0111232)。
(2)利用KMP (改进的nextval )算法,每趟匹配过程如下:
第一趟匹配:
相关内容
相关标签