KMP的失效函数
最近学习了KMP字符串匹配算法,几乎全部掌握了。但我不明白的是如何在 O( length_of_pattern ) 中构建失败函数。我不需要代码,如果可能的话,我需要清晰的解释。提前致谢!
I've recently learnt the KMP string matching algorithm, and I almost get all of it. But what I don't get is how to build the failure function in O( length_of_pattern ). I don't need code, I need a clear explanation if possible. Thanks in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
来自 此站点:
KMP 算法预处理模式P 通过使用先前执行的比较来计算指示最大可能偏移 s 的故障函数 f。
具体地,失效函数f(j)被定义为作为P[i的后缀的P的最长前缀的长度。 。 j]。
这是一个构造的伪代码,我想你可以在网站上得到详细的解释
希望它能回答你的问题
from this site:
The KMP algorithm preprocess the pattern P by computing a failure function f that indicates the largest possible shift s using previously performed comparisons.
Specifically, the failure function f(j) is defined as the length of the longest prefix of P that is a suffix of P[i . . j].
Here is a pseudo code for the construction, I guess you can get the detail of the explaination on the site
Hope it answers your question