若n为主串长,m为子串长,则串的古典(朴素)匹配算法最坏的情况下需要比较字符的总次数为()。
第1题:
设主串长为n,模式串长为m(m≤n),则在匹配失败的情况下,朴素匹配算法进行的无效位移次数为(30)。
A.m
B.n-m
C.n-m+1
D.n
第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
第3题:
此题为判断题(对,错)。
第4题:
A、连接
B、求串长
C、串比较
D、子串定位
E、串复制
第5题:
设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为( )。
A、求子串
B、联接
C、模式匹配
D、求串长
第6题:
若串s="Program",则其子串的数目是( )。
第7题:
● 若字符串s 的长度为 n(n >1)且其中的字符互不相同,则 s 的长度为 2 的子串有 (35) 个。
(35)
A. n
B. n-1
C. n-2
D. 2
第8题:
若串s="MathTypes",则其子串的数目是 【3】 。
第9题:
阅读以下说明和流程图,填补流程图中的空缺(1)~(5),将解答填入对应栏内。
【说明】
下面流程图的功能是:在已知字符串A中查找特定字符串B,如果存在,则输出B串首字符在A串中的位置,否则输出-1。设串A由n个字符A(0),A(1),…,A(n-1)组成,串B由m个字符B(0),B(1),…,B(m-1)组成,其中n≥m>0。在串A中查找串 B的基本算法如下:从串A的首字符A(0)开始,取子串A(0)A(1)…A(m-1)与串B比较;若不同,则再取子串A(1)A(2)…A(m)与串B比较,依次类推。
例如,字符串“CABBRFFD”中存在字符子串“BRF”(输出3),不存在字符子串“RFD”(输出-1)。
在流程图中,i用于访问串A中的字符(i=0,1,…,n-1),j用于访问串B中的字符(j=0,1,…,m-1)。在比较A(i)A(i/1)…A(i+m-1)与B(0)B(1)…B(m-1)时,需要对 A(i)与B(0)、A(i+1)与B(1)、…、A(i+j)与B(j)等逐对字符进行比较。若发现不同,则需要取下一个子串进行比较,依此类推。
【流程图】
第10题:
若字符串s的长度为n(n>1)且其中的字符互不相同,则s的长度为2的子串有______个。
A.n
B.n-1
C.n-2
D.2
A.
B.
C.
D.