2016年重庆大学软件学院数据结构与算法之数据结构(同等学力等加试)复试笔试最后押题五套卷
● 摘要
一、选择题
1. 有向带权图如题图所示,若采用迪杰斯特拉(Dijkstra )算法求从源点a 到其他各顶点的最短路径,则得到的第一条最短路径的目标顶点是b ,第二条最短路径的目标顶点是c ,后续得到的其余各最短路径的目标顶点依次是( )。
题图有向带权图
A.d , e , f
B.e , d , f C.f , d , e D.f , e , d 答:C 。
【解析】本题主要考查Dijkstra 算法的思想和解题步骤。题目执行算法过程中各步的状态如下表所示。
执行Dijkstra 算法过程中各步的状态表,故后续目标顶点依次为f ,d , e 。
2. 下列文件物理结构中,适合随机访问且易于文件扩展的是( )。
A. 连续结构 B. 索引结构
C. 链式结构且磁盘块定长 D. 链式结构且磁盘块变长 答:B
【解析】连续结构的优点是结构简单,缺点是不易于文件扩展,不易随机访问。链式结构的优点是文件易于扩展,缺点是不易随机访问。索引结构的优点是具有链式结构的优点并克服了它的缺点,可随机存取,易于文件扩展。
3. 文件系统中,文件访问控制信息存储的合理位置是( )。
A. 文件控制块 B. 文件分配表 C. 用户口令表 D. 系统注册表 答:A
【解析】文件控制块是文件存在的标志,文件的相关信息(基本信息、存取控制信息以及使用信息)都存储在文件控制块中,系统对文件的管理全是依靠文件控制块里的信息。
4. 某文件占10个磁盘块,现要把该文件磁盘块逐个读入主存缓冲区,并送用户区进行分析。假设一个缓冲区与一个磁盘块大小相同,
把一个磁盘块读人缓冲区的时间为传送到用户区的时间是
CPU 对一块数据进行分析的时间为
构下,读人并分析完该文件的时间分别是( )。
A. B. C. D. 答:B
【解析】这是一个简单的缓冲区的问题。由于缓冲区的访问是互斥的,所以对单一缓冲区,从磁盘写入和读 出到用户区的操作必须串行执行,也就是要保证互斥操作。而CPU 对数据的分析与从用户区读数据也是需要互斥操作,但是CPU 分析与从磁盘写入缓冲区的操作可以并行。从本题看,由于分析所用的时间小于从磁盘写入 缓冲区的时间,因此,CPU 会空闲。单缓冲区的总时间=(磁盘写入缓冲区时间+缓冲区读出时间
)
处理最后一块数据的时
间
当采用双缓冲区时,每块缓冲区的操作也必须满足互斥操作,但是,
对两块缓冲区的操作却可以并行,所以,当第一个缓冲区写满以后,磁盘紧接着写另一个缓冲区,同时,前一个已经满了的缓冲区被读出到用户区,并立即进行CPU 的数据分析。读出操作和数据分析必须互斥进行,故从时间上看,当数据被读出并分析后,恰好另一个缓冲区也写满了,可以立即进行读出数据到用户区并 进行数据分析。两块缓冲区交替进行读写,直到数据分析完毕,因此,总时间=(磁盘写入缓冲区时间)
读出最后一块数据时间+CPU分析最后一块数据时间=
将缓冲区的数据
,在单缓冲区和双缓冲区结
5. 若一棵二叉树的前序遍历序列为a ,e ,b ,d ,c ,后序遍历序列为b , c, d, e, a, 则根结点的孩子结点( )。
A. 只有e B. 有 e 、b C. 有 e 、c D. 无法确定 答:A 。
b , d, c, 后序遍历序列为b ,c , d, 【解析】由题目可知,若一棵二叉树的前序遍历序列为a , e,e , a , 其中a 为这棵二叉树的根结点,接下来,在前序遍历的第二个结点为e , 而后序遍历的倒数第二个结点为e , 说 明a 的孩子结点只有e 。
6. 下面给出的四种排序方法中,排序过程中的比较次数与排序方法无关的是( )。
A. 选择排序法B. 插入排序法C. 快速排序法D. 堆排序法 答:A
【解析】选择排序的基本思想是:
第i 趟排序开始时,当前有序区和无序区分别为则是从当前无序区中选出关键字最小的记录和
分别变为新的有序区和新的无序区。
和
该趟排序
交换,使
将它与无序区的第1个记录
7. 在一个有N 个元素的有序单链表中查找具有给定关键字的结点,平均情况下的时间复杂性为( )。
答:B
【解析】二分查找的时间复杂度为
在一个用N 个元素的有序单链表中查找具有给定
关键字的结点,因为查找是从头结点开始的,需要使用指针顺序往下查找,
因此时间复杂度为
8. 数据序列只能是下列排序算法中的( )的两趟排序后的结果。
A. 选择排序 B. 起泡排序 C. 插入排序 D. 堆排序 答:C
【解析】选择排序、起泡排序和堆排序两趟排序后,在序列的某一端应该有序列的两个最大值或者最小值。
相关内容
相关标签