我计划在字典应用程序中使用 trie 数据结构实现,但问题是向 trie 加载超过 10,000 个单词。虽然 trie 去掉了字母的冗余,并且在 primay 中加载的总内存不会超过几个 kb,但是将所有单词加载到 trie 中所需的时间仍然会花费很多时间 n
甚至会花费如果它是为手机应用程序实现的,则更多。
有什么可以做的建议吗?
最佳答案
您可以发送包含所有字典单词的序列化 trie,而不是(或者可能除了)随应用程序一起发送包含字典的数据库。可以按照您想要的任何方式对其进行序列化(可能作为数据库或 xml 文件中的 blob),然后您可以将其反序列化以在应用程序启动时创建 java trie 对象。
为此,您可以使用部署脚本,该脚本通过遍历所有字典单词来创建特里树,将它们放入特里树中,然后将特里树序列化为某个文件或 blob,并将此序列化特里树与发布的应用程序打包。
关于java - 如何使用 trie 设计字典应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15516914/