符号频率相等的霍夫曼代码



从这些频率开始:

A: 7 F:6 H:1 M:2 N:4 U:5

在后面的步骤中,我得到了5 6 7 7,其中一个7是"a"。我选择哪一个7分支作为0或1是任意的。

那么,如何获得唯一可解码的码字呢?

您需要将代码发送到接收器,而不是频率。您可以任意将01分配给所有分支,然后在编码符号本身之前发送每个符号的代码。有许多可能的霍夫曼代码来自同一组频率。

更常见的是,只发送每个符号的以比特为单位的代码长度。在这种情况下,这些是A:2 F:2 H:4 M:4 N:3 U:2。然后在两端使用规范代码,该代码仅取决于长度。在这种情况下,从0的开始,规范代码将是:

A: 00
F: 01
U: 10
N: 110
H: 1110
M: 1111

其中以字典顺序将相等长度的代码分配给符号。请注意,不需要构建的Huffman树。所需要的只是每个符号的位数。

最新更新