gpt4 book ai didi

algorithm - O(N) 中字符串中子字符串出现的次数

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:41:07 25 4
gpt4 key购买 nike

我想知道如何在线性时间内计算大海捞针中每根针出现的次数。我想我会使用 Aho-Corasick 算法,但我不希望时间复杂度取决于针出现的次数。

最佳答案

使用Rabin–Karp如果您想搜索一组字符串并且不喜欢依赖于出现的次数。它的平均/最佳情况运行时间是 O(n + m),但最坏情况时间是 O(nm),其中 n 是文本长度,m 是搜索模式的组合长度。

如果你只想搜索一个字符串,你可以使用 Knuth–Morris–Pratt复杂度为 O(n + k),其中 n 是文本的长度,k 是搜索模式的长度。

关于algorithm - O(N) 中字符串中子字符串出现的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40697763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com