<分区>
我需要一个可以识别单词的算法(基于字典) 在没有空格的字符序列中。
比方说,顺序是:
无空间
它应该识别空间和更少。
并且可能存在可以识别更多单词的情况。 很难给出这样的例子,但我会试一试:
例子:太空灯
识别词:空间和轻微(1)
识别词:空间和光(2)
所以该算法也应该能够找到这些类型的变化。
<分区>
我需要一个可以识别单词的算法(基于字典) 在没有空格的字符序列中。
比方说,顺序是:
无空间
它应该识别空间和更少。
并且可能存在可以识别更多单词的情况。 很难给出这样的例子,但我会试一试:
例子:太空灯
识别词:空间和轻微(1)
识别词:空间和光(2)
所以该算法也应该能够找到这些类型的变化。
最佳答案
如果您需要对同一个字符串进行多次查询,后缀 trie 是一个很好的解决方案。这将非常有效地存储字符串并允许在 O(n) 中查找查询,其中 n 是查询的长度(请注意,除非您对查询有更多了解,否则您无法做得更好)。
如果后缀 trie 仍然占用太多空间,您可以使用 DAWG,但这构建起来要复杂得多。
关于string - 识别字符序列中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6994050/