大多数人在实施研究霍夫曼算法时,更喜欢存储频率数组,而不是霍夫曼树。但有时我想存储霍夫曼树。例如,它允许立即解码数据。
不幸的是,我不知道,如何从霍夫曼树恢复频率数组。此外,我不知道,是否可能。
答案 0 :(得分:2)
目前尚不清楚为什么要恢复频率数组。正如你所说,树是你需要解码的全部。 (您甚至不需要发送树 - 您只需发送每个符号的位数,并从中生成规范的霍夫曼代码。)
您没有足够的信息来恢复原始频率数组。但是,您可以轻松构建将重现该树的 a 频率数组。使最长码编码频率为1,编码频率减少一位,频率减少两位,等等。
答案 1 :(得分:1)
当您拥有频率时,IMO可以简单地使用相同的功能重建树,例如更大或更小。