2017年武汉科技大学数据结构(C语言版)考研复试核心题库
● 摘要
一、应用题
1. 设有n 个元素采用起泡排序法进行排序,通常需要进行多少趟排序? 对于第J 趟起泡通常需要进行多少次关键字比较? 在程序设计中如何设置判断条件,有可能使起泡趟数可以减少并且能完成排序。
【答案】n 个元素采用起泡排序法进行排序,通常需要进行n-1趟排序。第j 趟起泡排序要进行次比较。在一趟排序中,若没有记录交换,则表示排序完成。因而,可通过设标记来控制排
2. 快速排序的最大递归深度是多少? 最小递归深度是多少?
【答案】设待排序记录的个数为n ,则快速排序的最小递归深度为
3. 请求分页管理系统中,假设某进程的页表内容如下表所示:
最大递归深度n 。序结束,下面语句段说明了标记flag 的使用。
页面大小为4KB ,一次内存的访问时间是100ns ,一次快表(TLB )的访问时间是10ns ,处
,进程的驻留集大小固定为2, 采理一次缺页的平均时间为108ns (已含更新TLB 和页表的时间)
用最近最少使用置换算法(LRU )和局部淘汰策略。假设①TLB 初始为空;②地址转换时先访问TLB , 若TLB 未命中,再访问页表(忽略访问页表之后的TLB 更新时间);③有效位为0表示页面不在内存,产生缺页中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。设有虚地址访问序列请问:
(1)依次访问上述三个虚地址,各需多少时间? 给出计算过程。
(2)基于上述访问序列,虚地址1565H 的物理地址是多少? 请说明理由。
【答案】⑴
页面大小为4KB ,因此,虚地址的低12位是页内偏移,其余高位是页号。
访问虚地址2362H , 虚页号为2,页内偏移362H 。查找TLB , TLB 初始为空,未命中,耗时10ns ; 访问页表,2号页面所在页框号为254H ,耗时100ns ; 计算得到的物理地址254362H ,访问
内存,耗时100ns 。因此,总共用时
访问虚地址1565H ,虚页号为1, 页内偏移565H 。查找TLB ,未命中,耗时10ns ; 访问页表,有效位是0,未命中,耗时100m ; 产生缺页中断,进行缺页中断处理,耗时108m ; 采用LRU 置换算法,虚页1装入页帧号101H , 缺页中断处理完后,再次访问页表,命中,耗时100m ; 计算得到物理地址101565H ,再次访问内存,耗时100ns 。因此,总共用时
访问虚地址25A5H ,虚页号为2, 页内偏移5A5H 。查找TLB , 命中,耗时10ns ; 虚页2对应的页帧为254H ,因此计算得物理地址为2545A5H , 访问内存,耗时100ns 。因此,
总共用时
(2)当访问虚地址1565H 时,产生缺页中断,合法驻留集为2, 必须从页表中淘汰一个页面,根据题目的置换算法,应淘汰0号页面,因此1565H 的对应的页框号为101H ,故可知虚地址1565H 的物理地址为101565H 。
4. 设LS 是一个线性表,若采用顺序存储结构,则在等概率的前提下,插
与
之间的概率
为入一个元素需要平均移动的元素个数是多少? 若元素插
在
【答案】需要分两种情况讨论:
,插入位置0..n ,则平均移动个数为(1)等概率(后插)
(2)若不等概率,则平均移动的元素个数为
则插入一个元素需要平均移动的元素个数又是多少?
5. 已知图的邻接矩阵为:
当用邻接表作为图的存储结构,且邻接点都按序号从大到小排列时,试写出:
(1)以顶点V1为出发点的唯一的深度优先遍历序列;
(2)以顶点V1为出发点的唯一的广度优先遍历序列;
(3)该图唯一的拓扑有序序列。
1)V1,V4,V9, V10,V7, V6, V8,V3,V2, V5 【答案】(
(2) V1, V4, V3, V2, V9, V7, V6, Y5, V10, V8
(3) V1, V2, V5, V3, V4, V6, V8, V7, V9, VIO
6. 已知一棵二叉树的后序遍历序列为EICBGAHDF , 同时知道该二叉树的中序遍历序列为CEIFGBADH , 试画出该二叉树。
【答案】该二叉树如图所示:
图
7. 请写出应填入下列叙述中( )内的正确答案。
排序有各种方法,如插入排序、快速排序、堆排序等。
设一数组中原有数据如下: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
【答案】①快速排序②起泡排序③直接插入排序④堆排序
8. 输入一个正整数序列(53,17,12,66,58,70,87,25,56,60),试完成下列各题。
(1)按次序构造一棵二叉排序树BS 。
(2)依此二叉排序树,如何得到一个从大到小的有序序列?
(3)画出在此二叉排序树中删除“66”后的树结构。
【答案】(1)构造的二叉排序树如图1所示:
图1 二叉排序树
相关内容
相关标签