在线报名
报名咨询
全站搜索未启用
跳到主要内容

案例导引

在电文收发等数据通讯中,常需要将传送的文字转换成由二进制字符0、1组成的字符来传输。例如要发送由A、B、C、D、E、F四个字符组成的信息,各字符在其文本中出现的次数为4、2、6、8、3、2,现要为这6个字母设计编码,最简单的二进制编码方式是等长编码,分别用000、001、010、011、100、101对A、B、C、D、E、F四个字符进行编码发送,当对方接收电文时,再按照三位一组进行译码。这种编码方式没有考虑字符在文本中出现的频度,为等长编码。在实际应用中,各个字符出现的频度或使用的次数是不相同的,有些字符经常出现,有些字符出现较少。在设计编码时,希望用短的编码来表示那些出现频度大的字符,用长的编码来表示出现频度小的字符,从而使得所表示的字符序列的编码总长度最短,所需空间总量最少,且任意字符的编码都不是另一个字符编码的前缀。哈夫曼编码能够使整个电文编码最优化,如图6-0所示。

哈夫曼编码的优点是:

(1)对给出的文本具有最短的编码序列;

(2)任一字符的编码不会是另一字符编码的前缀,即使两个字符出现的频度相同,其编码也不相同。

图6-0 编码哈夫曼树

最后修改: 2019年09月10日 Tuesday 13:08