【发布时间】:2010-12-11 20:44:50
【问题描述】:
我有一个 40MB(在这种情况下对内存来说太大)的字符串列表,我想“开始”查询以提取匹配项。任何人都知道一个好的数据结构吗?现有 os java 实现的奖励积分。如果某些东西已经存在,我愿意牺牲“开始于”来精确匹配。基于磁盘的 trie 听起来很理想。
【问题讨论】:
-
字符串的长度是否相同?将所有填充到最长的长度会是一个问题吗?
-
字符串源的结构/架构是什么?它是一个 40gb 行分隔的文本文件吗?这是用来制造垃圾邮件的吗? ;)
-
只有 40 mb 而不是 gb,它们是单独的条款。它基本上只是为了一个术语(
-
如果您想要超快,我建议您获得 40 MB 以上的可用内存。你是在为手机开发吗?你愿意使用 SQL 但不将数据加载到内存中??我会说后者更简单。