哈夫曼编码的基本概念和构造方法

哈夫曼编码的基本概念和构造方法


参考:B站青岛大学–王卓的数据结构与算法基础视频

哈夫曼树相关知识点

详见博客:
哈夫曼树的基本概念和构造方法

哈夫曼编码基本概念

引入等长编码

下面的例子是将字符串用2位的等长编码表示

  • 在远程通讯中,要将待传字符转换成由二进制的字符串
  • 设要传送的字符串为: ABACCDA
  • 若编码为:A——00,B——01,C——10,D——11
  • 则字符串可转换为:00010010101100

使用不等长的编码:
在这里插入图片描述

引入不等长编码

如下图,使用不等长的只需要9个二进制位。
在这里插入图片描述
但是问题是前面四个零会导致翻译时出错。
在这里插入图片描述
上图的编码称为前缀编码。

使用哈夫曼算法构建哈夫曼编码

在这里插入图片描述
示例:
在这里插入图片描述

哈夫曼编码的相关问题

在这里插入图片描述

哈夫曼编码的两个性质

  • 性质1:哈夫曼编码是前缀码
  • 性质2:哈夫曼编码是最优前缀码
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 点我我会动 设计师:上身试试 返回首页