将序列化帮助将霍夫曼树存储到文件中

时间:2016-12-25 06:11:05

标签: algorithm tree compression huffman-code lossless-compression

我正在为我的班级作业创建霍夫曼压缩程序。我知道如何实现它,但由于解码器必须使用编码器存储的转换表或从头开始创建霍夫曼树,我想通过编码器存储完整的霍夫曼树,因此解码器不需要重建它。我开始知道用指针保存一个东西是不一样的,所以我看到序列化可能有所帮助。我的主要问题是:

1-序列化是否能够按原样存储树? 2-存储树会占用更多空间,然后存储转换表并重建它吗?

我想最小化要存储在编码文件中的树数据。 我在这里谈论纯文本压缩。 - 谢谢

1 个答案:

答案 0 :(得分:1)

您不需要转移树。获得每个符号的代码长度后,丢弃树。然后,您可以根据长度和符号的顺序构造canonical code。然后,您只需将长度传输到解码器,解码器就会从长度构建相同的规范代码。