strstr() 与 Knuth Morris Pratt

标签 strstr knuth-morris-pratt

有人可以帮助我了解 strstr() 或 KMP 哪个更有效,因为最近我在 SPOJ 上做一个问题,发现 strstr() 在某种程度上比 KMP 更快。 有人请解释一下这背后的 secret ..

最佳答案

您正在比较苹果和梨,strstr()是一个查找子字符串的函数,KMP是一种执行此操作的算法,因此理论上可以使用 KMP 来实现 strstr()。您需要找出所讨论的 strstr() 实现的是哪种算法才能给出语句。

看看这个 answer以及对此的评论。

关于strstr() 与 Knuth Morris Pratt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20553897/

相关文章:

c - 如何查找多个出现的位置并使用字符串进行替换?

string - 在 O(n) 中找到输入字符串的最小周期?

algorithm - 大字符串的快速字符串搜索算法

c - Valgrind错误: "Invalid read of size 1" due to strstr() with C

c - 使用 strstr() 后,子字符串也通过 uart 传输

c - 下次调用函数后,上次调用的字符串 "remembered"

string - KMP 模式匹配算法背后的理论是什么?

algorithm - 如果前缀表全为零,KMP 的性能如何?

java - Java 中的字符串比较,我应该使用哪种算法?

c - 使用 strstr 时出现奇怪的错误