赫夫曼树matlab代码霍夫曼编码Python和MATLAB实现
该存储库由Huffman编码的MATLAB和Python实现组成。
Huffman源代码由David
Albert
Huffman引入,并于1952年9月在IRE会议录中以“”的名义出版。
描述
霍夫曼编码是最小冗余和可变长度源编码方法。
在进一步进行操作之前,需要对这些术语进行解释。
首先,最小冗余意味着以使平均比特长度最小化的方式执行编码。
最小化平均位长意味着在不损失任何信息的情况下实现了最大压缩(最佳编码)。
通过将最短代码分配给最可能的符号,将最长代码分配给最不可能的符号来执行最佳编码。
此过程介绍了可变长度编码概念。
此外,霍夫曼是前缀代码。
代码缩写是每个代码的区别属性。
这意味着,代码的每一位代表二进制霍夫曼树中的左或右,而代码字仅位于叶子上。
例如,假设您有文本AAAAAAAAAAAABBBBBBCCCDDD并希望对其进行编码。
请注意,文本由四个唯一符号['A',
'B',
'C',
'D']
,其在文本中的频率分别为[0.50,
0.25,
0.125,
0.125]
。
如果不考虑符号的频率,则可
2021-11-18 10:11:44
21KB
系统开源
1