一、选择题
1. 已知两个长度分别为m 和n 的升序链表,若将它们合并为一个长度为m+n的降序链表,则最坏情况下的时间复杂度是( )
A.
B.
C.
D. 【答案】D
m 和n 是两个升序链表长度分别为m 和m 在合并过程中最坏的情况是两个链表中的【解析】
元素依次进行比较,比较的次数是m 和n 中的最大值。
2. 以RS-232为接口,进行7位ASCII 码字符传送,带有一位奇校验位和两位停止位,当波特率为9600波特时,字符传送率为( )。
A.960 B.873 C.1371 D.480
【答案】A
3. 某文件占10个磁盘块,现要把该文件磁盘块逐个读入主存缓冲区,并送用户区进行分析。假,设一个缓冲区与一个磁盘块大小相同把一个磁盘块读人缓冲区的时间为送到用户区的时间是
CPU
对一块数据进行分析的时间为
下,读人并分析完该文件的时间分别是( )。
A.
B.
C.
D. 【答案】B
【解析】这是一个简单的缓冲区的问题。由于缓冲区的访问是互斥的,所以对单一缓冲区,从磁盘写入和读出到用户区的操作必须串行执行,也就是要保证互斥操作。而CPU 对数据的分析与从用户区读数据也是需要互斥操作,但是CPU 分析与从磁盘写入缓冲区的操作可以并行。从本题看,由于分析所用的时间小于从磁盘写入缓冲区的时间,因此,CPU 会空闲。单缓冲区的总时间=(磁盘写入缓冲区时间+缓冲区读出时间)xlO+CPU处理最后一块数据的时间
=
当采用双缓冲区时,每块缓冲区的操作也必须满足互斥操作,但是,
对两块缓冲区的操作却可以并行,所以,当第一个缓冲区写满以后,磁盘紧接着写另一个缓冲区,同时,前一个已经满了的缓冲区被读出到用户区,并立即进行CPU 的数据分析。读出操作和数据
将缓冲区的数据传
在单缓冲区和双缓冲区结构
分析必须互斥进行,故从时间上看,当数据被读出并分析后,恰好另一个缓冲区也写满了,可以立即进行读出数据到用户区并进行数据分析。两块缓冲区交替进行读写,直到数据分析完毕,因此,总时间=(磁盘写入缓冲区时间)×10+读出最后一块数据时间+CPU分析最后一块数据时间
=
4. 进程P0和P1的共享变量定义及若进程P0和P1访问临界资源的类C 伪代码实现如下:
则并发执行进程:P0和P1时产生的情况是( )。 A. 不能保证进程互斥进入临界区,会出现“饥饿”现象 B. 不能保证进程互斥进入临界区,不会出现“饥饿”现象 C. 能保证进程互斥进入临界区,会出现“饥饿”现象 D. 能保证进程互斥进入临界区,不会出现“饥饿”现象 【答案】D
【解析】这是皮特森算法
的实现,保证进入临界区的进程合理安全。该
算法为了防止两个进程为进入临界区而无限期等待,设置变量turn ,表示不允许进入临界区的编号,每个进程在先设置自己标志后再设置turn 标志,不允许另一个进程进入,这时,再同时检测另一个进程状态标志和不允许进入标志,这样可以保证当两个进程同时要求进入临界区时只允许一个进程进入临界区。保存的是较晚的一次赋值,则较晚的进程等待,较早的进程进入。先到先人,后到等待,从而完成临界区访问的要求。
5. 希尔排序的组内排序采用的是( )。
A. 直接插入排序 B. 折半插入排序 C. 快速排序 D. 归并排序 【答案】A
【解析】希尔排序基本思想是:先将整个待排元素序列按某个增量分割成若干个子序列,在
子序列内进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(増量足够小)时,再对全体元素进行一次直接插入排序。
6. 在子网中,能接收目的地址为的IP 分组的最大主机数是( )。
A.0 B.1 C.2 D.4
【答案】C
【解析】每个子网中忽略子网内全为0和全为1的地址剩下的就是有效主机地址,本题中由于子网的比特数是30, 因此用于主机的只有2位,即00, 01, 10, 11,有效主机地址是2个,
这里
显然是其广播地址,因此答案是C 。
7. 下列关于最小生成树的叙述中,正确的是( )。
Ⅰ. 最小生成树的代价唯一Ⅱ. 所有权值最小的边一定会出现在所有的最小生成树中Ⅲ. 使用普里姆(Prim )算法从不同顶点开始得到的最小生成树一定相同Ⅳ. 使用普里姆算法和克鲁斯卡尔(Kruskal )算法得到的最小生成树总不相同
A. 仅Ⅰ B. 仅Ⅱ C. 仅Ⅰ、Ⅲ D. 仅Ⅱ、Ⅳ 【答案】A 。
【解析】当图中存在相同权值的边时,其最小生成树可能是不唯一的,但最小生成树的代价一定是相同的,所以说法Ⅰ正确。从n 个顶点的连通图中选取n-1条权值最小的边可能构成回路,所以说法Ⅱ错误。当某个顶点有权值相同的边,使用普里姆(Prim )算法从不同顶点开始得到的最小生成树并不一定相同,所以说法Ⅲ错误。当最小生成树不唯一时,使用普里姆算法和克鲁斯卡尔(Kruskal )算法得到的最小生成树可能相同,也可能不同,所以说法Ⅳ错误。由此可得出正确答案。
8. 设有一棵3阶B 树,如图1所示。删除关键字78得到一棵新B 树,其最右叶结点所含的关键字是( )。
图1 3二叉树图
A.60 B.60, 62