KMP算法模板(草解)
在长度为N的字符串中匹配长度为m的字符串,KMP算法是在任何的字符串中匹配中时间复杂度都是O(m+n),不会出现极致的情况O(n*m)
简单得讲他就是先对字符串N进行预处理,从而在与字符串M匹配时跳过一些字符串,从而达到快速匹配的目的
他是怎么实现的呢?
假设指针i指向字符串N,j指向字符串M的位置,在使用KMP算法时,指向N的i指针是不会回溯的,而是一直往后面走,大大减少了时间复杂度,-------KMP的核心就是Next[]数组的使用,,当出现失配后,当进行下一次匹配时,用Next[]指出j回溯的位置
原创
2020-10-19 21:16:16 ·
175 阅读 ·
0 评论