string - 识别字符序列中的单词

标签 string algorithm

<分区>

我需要一个可以识别单词的算法(基于字典) 在没有空格的字符序列中。

比方说,顺序是:
无空间
它应该识别空间和更少。

并且可能存在可以识别更多单词的情况。 很难给出这样的例子,但我会试一试:

例子:太空灯
识别词:空间和轻微(1)
识别词:空间和光(2)

所以该算法也应该能够找到这些类型的变化。

最佳答案

如果您需要对同一个字符串进行多次查询,后缀 trie 是一个很好的解决方案。这将非常有效地存储字符串并允许在 O(n) 中查找查询,其中 n 是查询的长度(请注意,除非您对查询有更多了解,否则您无法做得更好)。

如果后缀 trie 仍然占用太多空间,您可以使用 DAWG,但这构建起来要复杂得多。

关于string - 识别字符序列中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6994050/

相关文章:

ios - 检查字符串中是否存在电话号码

c - Sprintf 函数 + 顺序参数

c# - 我应该如何重构这个正则表达式反转算法以允许重复字符类?

python - 逻辑游戏 : maximising (or minimising) the chances for two agents to meet

c# - 如何从格式化字符串中删除空行

java - 将 JsonObject 转换为字符串

java - 字符串类与其他类有何区别?

algorithm - 效率/算法与系统规范

python - 为 url 目的生成看似随机的唯一数字

algorithm - 多边形的重心