0%

算法

字符串相关

kmp算法

1、制作部分匹配值表:

如对于ABCDABD

搜索词为从左往右的每个字母,匹配值计算方法如下:

如对于第2个A,划到该字符的字符串为ABCDA,前缀为A、AB、ABC、ABCD,后缀为BCDA、CDA、DA、A,共有元素为A,字符串长度为1,所以部分匹配值即为1

2、使用字符串逐个匹配,若出现不同的清况下,向后跳n格(非1格),其中n=已匹配的字符数-最后一个匹配成功字符的部分匹配值