KMP算法是由Knuth、Morris、Pratt三个人共同提出的串的模式匹配算法,常规的模式匹配算法通常需要O(m*n)的时间复杂度,而KMP算法只有O(m+n)的时间复杂度。
在串的模式匹配中有两个串,待匹配串String和模式串Pattern,KMP算法是通过先对模式串进行分析,建立一个match函数来管理模式串中的重复子串。
m a t c h = { 满 足 p 0 . . . p i = p k . . . p j 的 最 大 i ( < j ) − 1 , 如 果 这 样 的 i 不 存 在 match=\begin{cases} 满足p_0...p_i = p_k...p_j的最大i(<j)\\ -1,如果这样的i不存在\\ \end{cases} match={
KMP算法(串的模式匹配)原理及其C实现
最新推荐文章于 2024-03-24 17:57:08 发布