【发布时间】:2010-02-16 21:52:34
【问题描述】:
我正在开发一个安卓文字游戏应用程序,该应用程序需要一个大型(约 250,000 个单词字典)可用。我需要:
- 合理快速的查找,例如固定时间更可取,有时可能需要每秒进行 200 次查找来解决单词难题,并且可能需要在 0.2 秒内更频繁地进行 20 次查找来检查用户刚刚拼写的单词。
编辑:查找通常会询问“在字典中吗?”。我也想在单词中支持最多两个通配符,但这很容易,只需生成通配符可能是的所有可能字母并检查生成的单词(即 26 * 26 查找带有两个通配符的单词) .
- 因为它是一个移动应用程序,所以使用尽可能少的内存并且只需要对字典数据进行少量初始下载是重中之重。
我第一次天真的尝试使用了 Java 的 HashMap 类,这导致了内存不足的异常。我已经研究过使用 android 上可用的 SQL lite 数据库,但这似乎有点矫枉过正。
什么是做我需要的好方法?
【问题讨论】:
-
不能用安卓自带的字典吗?
-
我想过这个,但你真的需要使用例如官方的拼字游戏词典或单词游戏疯了。
标签: java android algorithm data-structures complexity-theory