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

时间:2015-07-22 10:20:30

标签: string algorithm

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我认为您可以使用全文搜索来执行此操作,例如Apache Sorl,Elastich Search。

但您可以将http://lunrjs.com/用于客户端。