string - 从字符串中的一组单词中出现一个单词

标签 string algorithm data-structures

有人可以建议算法从字符串中的 K 个单词集中找出任何单词的出现吗?
例如:
词组:{abc,xyz}
字符串:abcdefghiabcjklabxyz
Output : {0,9,17}//单词在字符串中的起始位置

比运行 KMP K 次更好的东西!!!

最佳答案

Aho-Corasick algorithm旨在从文本中的给定词典中搜索任何单词。

some other algorithms对于此任务 - Commentz-Walter , Rabin–Karp(但 Aho-Corasic 在最坏情况下具有更好的复杂性)

关于string - 从字符串中的一组单词中出现一个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39829498/

相关文章:

algorithm - 在一组不断变化的线段中进行最近邻搜索

C# 将字符串复制到字节缓冲区

mysql - 从 mysql 操作打印五个字符串

algorithm - 通过 3 个特定操作从 1 到 n 的高效算法

algorithm - 压缩矩阵乘法

c# - 关于 AlphaBeta 算法

data-structures - 什么是存储树结构的模型,它们的特点是什么?

python:如何确定一个字符串是否包含一个元组?

c++ - 迭代 std::string 并提取字符和整数

c - 将用户输入值分配给分配的内存