在字符串的模式匹配過程中,如果模式串的每個字符依次和主事中一個連續(xù)的字符序列相等,則稱為匹配成功。如果不能在主串中找到與模式串相同的子串,則稱為匹配失敗。在布魯特—福斯模式匹配算法(樸素的或基本的模式匹配)中,若主串和模式串的長度分別為n和m(且n遠(yuǎn)大于m),且恰好在主串末尾的m個字符處匹配成功,則在上述的模式匹配過程中,字符的比較次數(shù)最多為()。
A.n*m
B.(n-m+1)*m
C.(n-m-1)*m
D.(n-m)*n
正確答案:B
試題57分析本題主要考查字符串的匹配。在本題的描述中,告訴我們是在主串末尾的m個字符處匹配成功,那么在這之前,從左到右依次匹配了n-m次,且都失敗了,最壞的情況,就是每次匹配都是匹配到最后一個字符不符合,因此每次匹配的比較次數(shù)就是子串的長度,即m。而匹配成功時,一共也比較了m次。所以字符的比較次數(shù)最多為(n-m+1)*m次。
B.(n-m+1)*m
C.(n-m-1)*m
D.(n-m)*n
正確答案:B
試題57分析本題主要考查字符串的匹配。在本題的描述中,告訴我們是在主串末尾的m個字符處匹配成功,那么在這之前,從左到右依次匹配了n-m次,且都失敗了,最壞的情況,就是每次匹配都是匹配到最后一個字符不符合,因此每次匹配的比較次數(shù)就是子串的長度,即m。而匹配成功時,一共也比較了m次。所以字符的比較次數(shù)最多為(n-m+1)*m次。