我正在处理个人项目,文件压缩程序,并且我的符号字典出现问题。我需要将以前遇到的字节字符串存储到结构中,以便我可以快速检查它们的存在并检索它们。我一直在假设哈希表最适合这个目的,因此我的问题将与哈希函数有关。但是,如果有人可以建议更好的哈希表替代方案,我会全力以赴。 行。所以问题是我无法为这些字节串提供一个好的哈希键。我想到的一切都有非常不均匀的分布,或者需要太长时间。以下列出了我正在使用的情况:
答案 0 :(得分:5)
trie更适合这种事情,因为它允许您将符号存储为树并快速解析它以匹配值(或拒绝它们)。
作为奖励,你根本不需要哈希。您正在同时存储/检索/比较整个序列,同时仍然只保留最少量的内存。
编辑:作为额外的奖励,只需要第二次解析,您就可以查找与当前序列“接近”的序列,这样您就可以删除序列并将前一个序列用于它们,用一些内部符号来保持差异。这将有助于您更好地压缩文件,因为: