c++ - 在多个数据 block 中搜索多个单词

标签 c++ python

我必须在数据 block (大约 20000 个 block )中搜索大约 100 个词,每个 block 包含大约 20 个词。 block 应按匹配项数量的降序返回。蛮力技术非常麻烦,因为您必须将所有 100 个单词一个一个地搜索,然后以复杂的方式组合相关搜索的数量。有没有其他算法可以同时搜索多个单词并存储匹配单词的数量?

谢谢

最佳答案

您可以使用 Aho-Corasick一次搜索所有 100 个单词的算法。有几种可用的实现方式 here in SOgithub .

关于c++ - 在多个数据 block 中搜索多个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15330568/

相关文章:

c++ - 使用accumulate时,C++中的operator+不匹配

python - 检查向量的准确性

python - 在 ST2 中导入 Pandas 时出现 Numexpr 错误

python - 无法更新标签文本

python - Elasticsearch解析异常400

python - 将 Lotus Notes 电子邮件移动到不同的文件夹 Python

c++ - 如何避免在多个文件中重新包含 <iostream>?

c# - .net Profiler 收集长期指标?

c++ - 分离的 pthread 和内存泄漏

C++ 程序在进行库调用时死掉