string - 在文本中查找字典字符串的最快方法

标签 string algorithm

我有一个文本文件和字典。该词典由一个恰好 8 个字符长的单词列表组成。我浏览文本文件并每 8 个字符搜索一次字典(“滑动窗口”)。

目前,我使用python字典数据结构作为查找表。它的摊销查找时间为 0(1),但我想知道是否存在使用问题的特定性质/结构的更快的算法/数据结构。

最佳答案

您可以尝试 aho-corasick 多模式匹配器。它构建了一个有限状态机,使用 trie 和广度优先搜索最长前缀的第一次出现,该前缀也是字典字符串的后缀。您可以在 https://phpahocorasick.codeplex.com 尝试我在 php 中的实现。 .它还增强了搜索通配符的算法。

关于string - 在文本中查找字典字符串的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31560348/

相关文章:

string - 将 String 变成只有 1 行

python - 正则表达式拆分的 maxsplit 功能

c# - 当第二个字符串较长时奇怪的字符串排序

algorithm - 在间隔/点上优化 DP

获取排序组合数量的算法?

java - new String() 和普通 String 是如何创建的? java中的字符串类(混淆)

php - 如何在sql中的字符串值中获取数字是否存在

r - 两个字符串的最佳相似性距离度量

algorithm - 在不拆分为单独的 RGB 字节的情况下计算 24 位颜色之间的差异?

分布式标准差算法