【发布时间】:2011-03-22 13:25:43
【问题描述】:
这是场景:
我有数百万个长度为 3-32 的随机字母字符串数组和一个单词数组(字典)。
我需要测试一个随机字符串是否可以通过连接 1、2 或 3 个不同的字典单词来组成。
由于字典单词会有些固定,我可以对它们进行任何类型的预处理。
理想情况下,我希望通过对字典进行某种预处理来优化查找速度。
我应该考虑什么样的数据结构/算法来实现这个?
【问题讨论】:
-
所以可能只有 1、2 或 3 个字(不能更多)?而且一定是完整的随机字符串(不仅仅是一部分)?
-
@MacGucky,我可能需要让它支持 4 甚至 5 个单词。是的,它必须是完全匹配的。
-
内存限制是什么?为什么不创建所有可能的组合并存储在 trie 中?
标签: algorithm language-agnostic data-structures