首页 > 解决方案 > 具有相同符号频率的霍夫曼码

问题描述

从这些频率开始:

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

在稍后的步骤中,我有 5 6 7 7,其中 7 之一是“A”。我选择哪个 7 分支为 0 或 1 是任意的。

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

标签: huffman-code

解决方案


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

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

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

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


推荐阅读