这是我在这里的第一个问题,所以请保持友善:)
我有一个60MB的随机字符文本文件,没有空格,制表符,换行符或任何可确定的模式。我认为我需要这个文本文件中有一个词,虽然我不确定如何搜索它。我以为你可以使用字典并扫描文件,虽然这可能需要一段时间,但我不知道如何实际做到这一点,因为没有空格或任何东西可以将单词与字符分开。
感谢任何帮助或想法。
我还发现this线程可能有所帮助,但我真的不确定,因为我不清楚答案,我认为我们的问题略有不同。
任何基本代码/伪代码都有帮助,不用担心语言:)
答案 0 :(得分:0)
您是否考虑过使用trie数据结构?构建一个字典值的trie,然后逐个字符地开始扫描文本文件。您需要维护一组候选单词片段以及它们在目前为止引导您(到目前为止)的节点。对于每个字符读取,遍历候选列表,并且如果新字符通向特里结构中的有效节点,则候选者保留在列表中并且节点信息被更新。否则将其从列表中删除。如果它是单词节点,请将该单词添加到找到的单词的解决方案集中。如果它是一个叶子节点从候选集中删除它,否则保留它,因为某些单词是其他单词的子串 - 例如,"""本身就是一个词,但是在一个特里也可以引导你进入水下","地下",或者#34; underdog"仅举几例。