【问题标题】:How to write a hashmap to a file in a memory efficient format?如何以内存高效格式将哈希图写入文件?
【发布时间】:2020-10-21 14:50:30
【问题描述】:

我正在编写一个霍夫曼编码/解码算法,我遇到了一个问题,即存储霍夫曼树占用了太多空间。目前,我正在将树转换为 hashMap -> hashMap 然后存储该哈希图。问题是,虽然字符串压缩得很好,但添加存储在哈希图中的霍夫曼树数据会增加太多开销,以至于它实际上最终会比原始数据更大。目前我只是天真地将 [data, value] 对写入文件,但我想一定有某种更棘手的方法来做到这一点。有什么想法吗?

【问题讨论】:

    标签: memory compression huffman-code memory-efficient


    【解决方案1】:

    编码不需要树。您所需要的只是每个符号的位长度以及对符号进行排序的方法。见Canonical Huffman Code

    其实你只需要按位长排序的符号,按符号排序的位长内的符号,然后是每个长度的代码个数。只需这两件事,您就可以进行编码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-19
      • 2014-01-29
      • 2012-05-15
      • 1970-01-01
      • 2018-05-08
      • 2015-07-21
      • 1970-01-01
      • 2010-11-16
      相关资源
      最近更新 更多