数据结构

朴素模式匹配算法,算法运行时间为O(m*n)。

题目

朴素模式匹配算法,算法运行时间为O(m*n)。

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设主串长为n,模式串长为m(m≤n),则在匹配失败的情况下,朴素匹配算法进行的无效位移次数为(30)。

A.m

B.n-m

C.n-m+1

D.n


正确答案:C
解析:本题考查字符串的匹配内容。字符串是由某字符集上的字符所组成的任何有限字符序列。字符串的匹配实际上就是在一个字符串中查找另一个字符串,如果查找到则说明匹配成功。在一个字符串中查找另一个字符串时,是从主串的第一个字符开始的,用其第一个字符与模式串中的第一个字符比较,看是否相等,如果不等则主串往后移动一位,如果查找不到,那么只需要把主串移动到n-m+1位置即可,因为后面就算再出现能查找到的情况那也没有模式串的长度了,肯定不能完全查找出模式串。那么在匹配过程中,进行的无效位移次数为n-m+1次。

第2题:

●在字符串的模式匹配过程中,如果模式串的每个字符依次和主事中一个连续的字符序列相等,则称为匹配成功。如果不能在主串中找到与模式串相同的子串,则称为匹配失败。在布鲁特—福斯模式匹配算法(朴素的或基本的模式匹配)中,若主串和模式串的长度分别为n和m(且n远大于m),且恰好在主串末尾的m个字符处匹配成功,则在上述的模式匹配过程中,字符的比较次数最多为(57)。

(57) A. n*m

B. (n-m+1)*m

C. (n-m-1)*m

D. (n-m)*n


正确答案:B

第3题:

n个元素排序问、如果只能通过元素比较交换构造算法,则n个处理器的并行排序算法达到____的运行时间才是代价最优的。

A、O(logn)

B、O(n)

C、O(nlogn)

D、O(n^2)


正确答案:A

第4题:

设主串长为n,模式串长为m(m≤n),则在匹配失败情况下,朴素匹配算法进行的无效位移次数为 ( )

A.m

B.n-m

C.n-m+1

D.n


正确答案:C

第5题:

A算法的时间复杂度为O(n^3),B算法的时间复杂度为O(2n),则说明()。

A对于任何的数据量,A算法的时间开销都比B算法小

B随着问题规模n的增大,A算法比B算法有效

C随着问题规模n的增大,B算法比A算法有效

D对于任何数据量,B算法的时间开销都比A算法小


参考答案:B

第6题:

假设某算法的计算时间可用递推关系式T(n)=2T(n/2)+n,T(1)=1表示,则该算法的时间复杂度为()

A.O(logn)

B.O(n*logn)

C.O(n)

D.O(n^2)


正确答案:B

第7题:

某算法的时间代价递推关系为T(n)=2T(n/2)+n,T(1)=1,则该算法的时间复杂度为______。

A.O(n)

B.

C.O(n2)

D.O(1)


正确答案:B
解析:由时间代价严格推出时间复杂度比较复杂,对于这种题,可用特例验证,不过需要注意的是特例不能取太少,至少n取到5,这样规律基本就可以确定了。
  T(1)=1
  T(2)=2T(1)+2=4
  T(3)=2T(1)+3=5
  T(4)=2T(2)+4=12
  T(5)=2T(2)+5=13
  很容易排除D选项,其递增速率介于O(n)和O(nsup>2</sup>)之间,故选B。

第8题:

将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为()

A、O(m+n)

B、O(n)

C、O(m)

D、O(1)


参考答案:D

第9题:

将长度为n的单链表链接到长度为m的单链表之后的算法的时间复杂度是()。

A.O(1)

B.O(n)

C.O(m)

D.O(m+n)


参考答案:C

第10题:

● 在字符串的模式匹配过程中,如果模式串的每个字符依次和主事中一个连续的字符序列相等,则称为匹配成功。如果不能在主串中找到与模式串相同的子串,则称为匹配失败。在布鲁特—福斯模式匹配算法(朴素的或基本的模式匹配)中,若主串和模式串的长度分别为n和m(且n远大于m),且恰好在主串末尾的m个字符处匹配成功,则在上述的模式匹配过程中,字符的比较次数最多为(57)。 A.n*m B.(n-m+1)*m C.(n-m-1)*m D.(n-m)*n


正确答案:B
试题57分析本题主要考查字符串的匹配。在本题的描述中,告诉我们是在主串末尾的m个字符处匹配成功,那么在这之前,从左到右依次匹配了n-m次,且都失败了,最坏的情况,就是每次匹配都是匹配到最后一个字符不符合,因此每次匹配的比较次数就是子串的长度,即m。而匹配成功时,一共也比较了m次。所以字符的比较次数最多为(n-m+1)*m次。参考答案(57)B