在字符串的模式匹配过程中,如果模式串的每个字符依次和主串中一个连续的字符序列相等,则称为匹配成功。如果不能在主串中找到与模式串相同的于串,则称为匹配失败。在布鲁特—福斯模式匹配算法(朴素的或基本的模式匹配)中,若主串和模式串的长度分别为n和m(且n远大于m),且恰好在主串末尾的m个字符处匹配成功,则在上述的模式匹配过程中,字符的比较次数最多为()。
A: n*m
B: (n-m+1)*m
C: (n-m-1)*m
D: (n-m)*n
A: n*m
B: (n-m+1)*m
C: (n-m-1)*m
D: (n-m)*n
举一反三
- 设主串长为n,模式串长为m(m≤n),则在匹配失败情况下,朴素匹配算法进行的无效位移次数为() A: m B: n-m C: n-m+1 D: n
- 若n为主串长度,m为模式串长度,采用BF(Brute Force)模式匹配算法,在最好情况下需要的字符比较次数为() A: m B: n C: m+n D: m×n
- 模式匹配算法是在主串中快速寻找模式的一种有效的方法,如果设主串的长度为m,模式的长度为n,朴素的模式匹配算法的时间复杂性是()。 A: m+n B: m*n C: n D: m
- 青书学堂: 设主串长为n,模式串长为m(m≤n),则在匹配失败情况下,朴素匹配算法进行的无效位移次数为( )
- 设主串长度为n,模式串长度为m,则简单模式匹配算法的时间复杂度为( ) 注意,答案请用英文字符,大写输入