我目前正在开发一个用 Java 编写的 Android 文字游戏,它需要一些拼写检查方法来检查玩家创建的单词是否正确。我在文本文件 (*.txt) 中保存了正确单词(波兰语)的完整列表,但它非常庞大,因为它包含近 300 万个单词并且大小为 35 MB。我做了一些研究,发现保存这些数据的最佳结构将是三元搜索树,因为它在空间和时间上都是有效的。
我的问题是如何在运行时之前从我的巨大文本文件中创建三元搜索树结构?它不能在运行时执行,因为它需要很长时间并且我会耗尽内存(我已经尝试过它只是出于好奇它会以何种方式崩溃)。所以我认为最好的方法是在编译之前创建这样的结构并将其作为某种资源添加到项目中,但不幸的是我不知道该怎么做。如果在编译之前无法实现,也许您知道如何在编译期间创建这样的结构?
更多细节:
- 我真的很想将此文本文件用作我的字典,所以请不要建议我使用其他字典服务。
- 我需要对这个数据结构执行的唯一方法是:
boolean contains(String word)
它会告诉我这个词是否正确。