首页 > 试题广场 >

给定的一个长度为N的字符串str,查找长度为P(PN)的字

[单选题]
给定的一个长度为N的字符串str,查找长度为P(P<N)的字符串在str中的出现次数。下面的说法正确的是()
  • 不存在比最坏时间复杂度O(NP)好的算法
  • 不存在比最坏时间复杂度O(N^2)好的算法
  • 不存在比最坏时间复杂度O(P^2)好的算法
  • 存在最坏时间复杂度为O(N+P)的算法
  • 存在最坏时间复杂度为O(log(N+P))的算法
  • 以上都不对
朴素匹配算法 时间复杂度O((N-P+1)*P)
KMP匹配算法 时间复杂度为O(N+P)
发表于 2016-07-26 22:32:58 回复(0)
建议大家还是有空看看KMP算法,还有部分匹配值的计算。
还是很有用的。推荐大家一个博客,就是讲KMP的。
发表于 2017-09-25 22:54:08 回复(1)
kmp最坏时间复杂度应该是O(NP),而通过kmp不能确定答案,而是考虑比kmp更好的bm和Sunday算法
发表于 2016-07-04 10:40:45 回复(5)
朴素的匹配算法,即每次向右挪一位,一共移动N-P+1次(初始算第一次),时间复杂度为O((N-P+1)*P)
KMP算法,时间复杂度为O(N+P)
发表于 2017-05-31 15:38:16 回复(0)
KMP算法:时间复杂度O(p+N)

发表于 2016-09-03 10:43:27 回复(0)
kmp算法是模式匹配。复杂度m+n,只查找一个子字符串。如果查找所有的子字符串呢?
发表于 2024-11-13 23:34:36 回复(0)
kmp
发表于 2022-10-24 20:57:54 回复(0)
kmp O(m+n)
发表于 2022-08-21 17:27:19 回复(0)
实际应用中一般bf也是p+n,一般比较多的情况下用kmp
发表于 2022-08-10 11:42:40 回复(0)
Hello
发表于 2021-12-05 11:44:40 回复(0)
<p>朴素匹配算法 时间复杂度O((N-P+1)*P) </p><p> KMP匹配算法 时间复杂度为O(N+P)</p>
发表于 2020-06-19 16:02:10 回复(0)
kmp匹配算法
发表于 2020-02-29 17:37:55 回复(0)
最坏时间复杂度?
发表于 2017-08-03 01:57:05 回复(0)
在说KMP算法的时候不用考虑创建next数组的时间复杂度吗?
发表于 2017-04-24 16:01:54 回复(0)
d kmp时间复杂度为o(n+p)
发表于 2016-08-09 18:06:38 回复(0)
所以什么叫“最坏时间复杂度”答案理解无能
发表于 2016-08-03 17:08:50 回复(2)
最坏复杂度难道不是O(NP)?O(N+P)叫最坏吗?
发表于 2016-07-16 15:08:13 回复(1)
字符串查找算法
发表于 2016-06-28 11:25:46 回复(0)
KMP算法的时间复杂度为O(m+n)
发表于 2016-05-11 19:35:41 回复(0)