一、选择题
1. 已知字符串S 为“abaabaabacacaabaabcc ”,模式串t 为“abaabc ”,采用KMP 算法进行匹配,第一次出现“失配” (
A.i=l,j=0
B.i=5,j=0
C.i=5,j=2
D.i=6,j=2
【答案】C
【解析】模式匹配(KMP )算法对普通的暴力匹配的改进在于:每当匹配过程中匹配失败时,主串(本题为S )的指针(i )不需要回溯,而是利用已经得到的“部分匹配”的结果将模式串(t )向右“滑动”尽可能远的一段距离后,继续进行比较。模式串“滑动”的距离是由模式串(t )本身决定的,即t 的子串中前缀串和后缀串相等的最长长度。本题中第一次失配i=5, 字串为“abaab”,其相等且最长的前后缀为“ab”,一次下一个j = 2。
2. 假定有4个整数用8位补码分别表示为
存放在一个8位寄存器中,则下列运算会发生溢出的是( )。
A.r1xr2
B.r2xr3
C.r1xr4
D.r2xr4
【答案】B
【解析】用补码表示时8位寄存器所能表示的整数范围为
在4个选项中,只有现在4个整数都是负数
,结果溢出,其余3个算式结果,i=j = 5,则下次开始匹配时,i 和j 的值分别是( ))。 若将运算结果
都未超过127, 不发生溢出。
3. 数据链路层采用后退N 帧(GBN )协议,发送方已经发送了编号为0〜7的倾。当计时器超时,若发送方只收到0、2、3号帧的确认,则发送方需要重发的帧数是( )。
A.2
B.3
C.4
D.5
【答案】C
【解析】后退N 帧协议,即GO-BACK-N 策略的基本原理是,当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;或者当发送方发送了
N 个帧后,若发现该N 帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不重新发送出错帧及其后的N 帧。本题收到3号帧的确认,说明0,1,2,3号帧已经收到,丢失的是4,5,6, 7号帧,共4帧。因此答案为C 项。
4. 从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为( )排序法。
A. 插入
B. 选择
C. 希尔
D. 二路归并
【答案】A
【解析】解此题需要熟知各种排序方法的基本思想。插入排序的基本思想是:假设待排序的
记录存放在数组中,排序过程的某一中间时刻,R
被划分成两个子区间
插入到有序区
和其中:前一个子区间是已排好序的有序区,后一个子区间则是当前未排序的部分,不妨称其为无序区。将当前无序区的第1
个记录
中适当的位置上。使
变为新的有序区。这种方法通常称为增量法,因为它每次使有序区增加1个记录。
5. 对同一待排序列分别进行折半插入排序和直接插入排序, 两者之间可能的不同之处是( )。
A. 排序的总趟数
B. 元素的移动次数
C. 使用辅助空间的数量
D. 元素之间的比较次数
【答案】D 。
【解析】折半插入排序所需附加存储空间和直接插入排序相同,从时间上比较,折半插入排序仅减少了关键字间的比较次数,
而记录的移动次数不变。折半插入排序的时间复杂度仍为
所以两者之间的不同只可能是元素之间的比较次数。
6. 图G 是n 个顶点的无向完全图,则下列说法不正确的是( )
A.G 的邻接多重表需要n (n-l )个边结点和n 个顶点结点
B.G 的连通分量个数最少
C.G 为连通图
D.G 所有顶点的度的总和为n (n-1)
【答案】A
【解析】A 项中G 的邻接多重表中需要n (n-l )/2个边结点和n 个顶点结点。此时连通分量最少为1。无向完全图中任意两个顶点之间都存在路径,则G 必为连通图。每个顶点的度为n-1,则n 个结点的度的总和为n (n-l )。
7. 知一棵二叉树的前序遍历结果为ABCDEF ,中序遍历结果为CBAEDF ,则后序遍历结果为( )。
A.CBEFDA
B.FEDCBA
C.CBEDFA
D. 不定
【答案】A
【解析】由前序结果可知A 为根节点,再由中序遍历结果知BC 为A 的左孩子,且C 为B 的左孩子结点,到此可排除B 项,按照这种逻辑依次推理,便可得出结果对于该类型题目,可以先根据前序遍历结果和中序遍历结果画出二叉树,然后后序遍历二叉树得到后序遍历序列。
8. 由3个结点可以构造出多少种不同的有向树?( )
A.2
B.3
C.4
D.5
【答案】A
【解析】满足以下条件的有向图称为有向树:①有且仅有一个结点的入度为0; ②除树根外结点的入度为1; ③从树根到任一结点有一有向通路。
9. 设与某资源相关联的信号量初值为3, 当前为1,若M 表示该资源的可用个数,N 表示等待该资源的进程数,则M ,N 分别是( )。
A.0、1
B.1、0
C.1、2
D.2、0
【答案】B
【解析】信号量初值是3表示资源数有3个,当前为1表示已经用掉2个,剩余可用的资源数就只有1个了,由于资源有剩余,可见没有其他进程等待使用该资源,故进程数为0。
10.
某系统正在执行三个进程
和各进程的计算(CPUCPUCPU )时间和时间比例如下表所示。
为提高系统资源利用率,合理的进程优先级设置应( ) A. B. C.