Alterna · учебный материал
重复编码
公平且不平衡的代码 Huffman算法 最佳编码
Что в этом материале
- 公平和不平衡的法典
- Huffman的算法
- 平均长度和总重
- 效率计算器
- 小型试验:5个问题
Содержание и основные понятия
返回目录
第26章 第26页 第26.2页
重复编码
Huffman的算法和最佳代码
Huffman的算法
构建一个最佳的前缀代码: 常见字符获得短码, 罕见字符获得长码 。
全球环境基金,全环基金
OGE 第2期
第4号EEEG
通信。
Huffman使用木材
第25章 25章
以及贪婪选择的原则: 我们把这两个字符和最低频率结合起来。
01
公平和不平衡的法典
等等效代码
- 相同长度的所有代码词(例如,ASCII对每个符号使用8比特)。
不一致的代码
- 不同长度的单词(如摩尔斯码、Huffman码)。
比较比较比较
AABSB案文(A:5、B:3、C:2):
等于 2 位数 :
10 符号 x 2 =
20 位数
赫夫曼:
A=0 (1), B=10 (2), C=110 (3) → 5×1 + 3×2 + 2×3 =
17 位数
储蓄:3比特(15%)。
02
Huffman的算法
思想构想
贪婪算法:常用的短码符号,稀有长码,最佳验证。
阿尔格瑞特姆
为每个符号及其频率创建页面。
重复:用最低频率的两个结, 合并成一个新的结( 频率总和) 。
直到有一个结,
左肋0,右1,上表路径=代码
🔧
Huffman 代码构建器
文字或频率(A:5、B:3、C:7)
03
平均长度和总重
平均代码长度 :
L = Σ pᵢ × lᵢ (сумма частоты × длина для всех символов)
香农 entropy:
H = − Σ pᵢ × log₂(pᵢ) (минимальная возможная средняя длина)
关于最佳代码:
L ≈ H
两者的差价是编码过高的。
示例示例示例
符号A(p=0.5),符号B(p)=0.25,符号C(px0.125),编号D(p)(0.125):
H = (0.5 °log20.5 +0.25 olog20.25 + 0.125 log 20.125 + 0.12 log.20.125) = 1.75 位数
哈夫曼:A=0,B=10,C=110,D=111\L=0.5/1+0.25+0.225.3+0.1253.+0.125.3 +0.13=1.75比特
最佳代码到达了 entropy!
04
效率计算器
📊
偶数和Huffman比较
频率(符号:频率,小数点位置)
🎯
小型试验:5个问题
XP: 0
🧩
检查你自己。
5个编码问题 = 20 XP,每个正确答案