序列化有助于将哈夫曼树存储到文件中吗
Will Serialization Help in Storing a Huffman Tree To A File
我正在为我的 class 作业创建霍夫曼压缩程序。我知道如何实现它,但由于解码器必须使用编码器存储的转换 table 或从头开始创建霍夫曼树,我想通过编码器存储完整的霍夫曼树,这样解码器就不会不需要重建它。我开始知道用指针保存一个东西是不一样的,所以我看到序列化可能会有所帮助。我的主要问题是:
1- 序列化能否按原样存储树?
2- 存储树是否需要更多 space 然后存储转换 table 并重建它?
我想最小化要存储在编码文件中的树数据。
我在这里说的是纯文本压缩。
- 谢谢
您不需要转移这棵树。获得每个符号的代码长度后,丢弃树。然后,您可以根据符号的长度和顺序构造 canonical code。然后,您只需将长度传输到解码器,解码器将仅根据长度构造相同的规范代码。
我正在为我的 class 作业创建霍夫曼压缩程序。我知道如何实现它,但由于解码器必须使用编码器存储的转换 table 或从头开始创建霍夫曼树,我想通过编码器存储完整的霍夫曼树,这样解码器就不会不需要重建它。我开始知道用指针保存一个东西是不一样的,所以我看到序列化可能会有所帮助。我的主要问题是:
1- 序列化能否按原样存储树? 2- 存储树是否需要更多 space 然后存储转换 table 并重建它?
我想最小化要存储在编码文件中的树数据。 我在这里说的是纯文本压缩。 - 谢谢
您不需要转移这棵树。获得每个符号的代码长度后,丢弃树。然后,您可以根据符号的长度和顺序构造 canonical code。然后,您只需将长度传输到解码器,解码器将仅根据长度构造相同的规范代码。