我目前正在实施一本日语词典,并想了解如何快速有效地查找条目。字典条目本身被加载并存储在一个类中,该类包含日语单词(可能具有多个拼写),它们的语音发音和英语定义为三个列表。
我最初有一个树形结构,每个节点代表一个单词中的一个字符。这是非常快,但不幸的是使用了大量的内存。定义数据本身约为35meg,树结构本身约为130meg。此外,它也只允许从日语查找 - >英语。内存是一个问题,因为除了需要额外的索引之外,应该存在Windows Phone 7版本的应用程序。该词典包含150,000个条目。
总结一下,这就是我需要做的事情: 存储定义列表 在此列表中有三个索引用于日语,语音和英语含义。 查找速度快(理想情况下不到1秒) 使用尽可能少的内存(Windows Phone 7上的内存使用限制为90美元)
有什么想法吗?
答案 0 :(得分:6)
您应该考虑使用移动数据库或Web服务来处理移动设备上的大量数据。您正在寻找的那种性能,功能和管理很难在任何平台上获得,但您不必这样做。使用具有适当索引和表的数据库,本地或远程。
SQL CE不适用于WP7,但有other options,商业和开源。此外,如果您希望经常连接并且可以稍微延迟,请考虑使用Web服务。您可以在通过Web服务呈现给您的中央服务器上使用任何选择的数据库。您的瓶颈是通信,但您可以从受限设备上卸载大量处理。
答案 1 :(得分:1)