0

我从大约 180,000 个单词的字典中构建了一个包含大约 400,000 个节点的 Trie。问题是在我的手机上构建树的时间太长了。

所以我决定创建一次 trie 并将其以某种格式存储到磁盘中,以便在需要时快速重新创建。但我无法想出一个好的格式来存储它。

对 trie 进行编码的最有效格式是什么,以便可以尽快从文件中重建它?

4

2 回答 2

1

如果您的 Trie 数据结构实现了可序列化,那么写入和写入文件应该是相当直接的。Java 将负责文件表示。

请参阅此链接

于 2013-09-25T23:04:48.627 回答
0

也许是个好主意 - 在与位置无关的代码中继续尝试在内存缓冲区中,并通过 mmap() 将其读入内存。这主要是从“冷启动”使用 trie 的快速方法。

此外,也许您可​​以不将数据保存在尝试中,而是保存在哈希表中。通过这种方法,您可以在内存中只保留非常小的“桶索引”。并且,当计算哈希时 - pread() 从文件中存储到内存中,并在加载的部分中搜索。

于 2013-09-25T19:34:41.240 回答