有没有办法从霍夫曼树恢复频率数组?

时间:2014-11-26 21:58:48

标签: algorithm binary-tree decoding huffman-code

大多数人在实施研究霍夫曼算法时,更喜欢存储频率数组,而不是霍夫曼树。但有时我想存储霍夫曼树。例如,它允许立即解码数据。

huffman tree

不幸的是,我不知道,如何从霍夫曼树恢复频率数组。此外,我不知道,是否可能。

2 个答案:

答案 0 :(得分:2)

目前尚不清楚为什么要恢复频率数组。正如你所说,树是你需要解码的全部。 (您甚至不需要发送树 - 您只需发送每个符号的位数,并从中生成规范的霍夫曼代码。)

您没有足够的信息来恢复原始频率数组。但是,您可以轻松构建将重现该树的 a 频率数组。使最长码编码频率为1,编码频率减少一位,频率减少两位,等等。

答案 1 :(得分:1)

当您拥有频率时,IMO可以简单地使用相同的功能重建树,例如更大或更小。