朴素模式匹配算法,算法运行时间为O(m*n)。
第1题:
●在字符串的模式匹配过程中,如果模式串的每个字符依次和主事中一个连续的字符序列相等,则称为匹配成功。如果不能在主串中找到与模式串相同的子串,则称为匹配失败。在布鲁特—福斯模式匹配算法(朴素的或基本的模式匹配)中,若主串和模式串的长度分别为n和m(且n远大于m),且恰好在主串末尾的m个字符处匹配成功,则在上述的模式匹配过程中,字符的比较次数最多为(57)。
(57) A. n*m
B. (n-m+1)*m
C. (n-m-1)*m
D. (n-m)*n
第2题:
A对于任何的数据量,A算法的时间开销都比B算法小
B随着问题规模n的增大,A算法比B算法有效
C随着问题规模n的增大,B算法比A算法有效
D对于任何数据量,B算法的时间开销都比A算法小
第3题:
设主串长为n,模式串长为m(m≤n),则在匹配失败情况下,朴素匹配算法进行的无效位移次数为 ( )
A.m
B.n-m
C.n-m+1
D.n
第4题:
设某算法的计算时间表示为递推关系式T(n)=T(n-1)+n(n>O)及T(0)=1,则该算法的时间复杂度为(65)。
A.O(lgn)
B.O (nlgn)
C.O(n)
D.O(n2)
第5题:
下面算法的时间复杂度为()
A.O(1)
B.O(n)
C.O(n*n)
D.O(n!)
第6题:
设某算法的计算时间可用递推关系式T(n)=2T(n/2)+n表示,则该算法的时间复杂度为(1)。
A.O(lgn)
B.O(nlgn)
C.O(n)
D.O(n2)
第7题:
第8题:
第9题:
若n为主串长,m为子串长,则串的古典(朴素)匹配算法最坏的情况下需要比较字符的总次数为()。
第10题:
KMP算法时间代价为O(n)。
第11题:
对
错
第12题:
第13题:
某算法的时间代价递推关系为T(n)=2T(n/2)+n,T(1)=1,则该算法的时间复杂度为______。
A.O(n)
B.
C.O(n2)
D.O(1)
第14题:
A.O(1)
B.O(n)
C.O(m)
D.O(m+n)
第15题:
● 在字符串的模式匹配过程中,如果模式串的每个字符依次和主事中一个连续的字符序列相等,则称为匹配成功。如果不能在主串中找到与模式串相同的子串,则称为匹配失败。在布鲁特—福斯模式匹配算法(朴素的或基本的模式匹配)中,若主串和模式串的长度分别为n和m(且n远大于m),且恰好在主串末尾的m个字符处匹配成功,则在上述的模式匹配过程中,字符的比较次数最多为(57)。 A.n*m B.(n-m+1)*m C.(n-m-1)*m D.(n-m)*n
第16题:
若目标串的长度为n,模式串的长度为[n/3],则执行模式匹配算法时,在最坏情况下的时间复杂度是( )。
A.O(1)
B.O(n)
C.O(n2)
D.0(n3)
第17题:
设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为()。
A.n2
B.O(nlgn)
C.O(n)
D.O(n2)
第18题:
第19题:
第20题:
将长度为n的单链表连接在长度为m的单链表之后的算法的时间复杂度为()。
第21题:
排序的平均时间复杂度为O(n•logn)的算法是(),为O(n•n)的算法是()
第22题:
设串长为n,模式串长为m,则KMP算法所需的附加空间为()。
第23题: