香农代码的matlab
Huffman
code
and
Shannon
code(哈夫曼码、香农码)
matlab仿真。测试文本Steve_Jobs_Speech.txt
程序
主程序
main
为可执行脚本,直接运行即可得到原文对应的哈夫曼编码、香农编码,并得到全文的编码,进行编码译码验证
哈夫曼编码:
Huffman
:
Huffman
函数用来对于给定数据进行哈夫曼编码
输入:
list
--
cell数组,第一列为不同的字符,第二列为对应出现在文本中的概率
输出:
codeword
--
cell数组,第一列为不同的字符,第二列为对应的概率,第三列为该字符的哈夫曼编码
Update
:
函数
Update
为函数Huffman的子函数,用于更新数据
输入:
codeword
--
各个不同字符对应的有待更新的码字
Pr
--
子节点还未合并的概率
group
--
需要更新的下标类
index
--
输入两个需要更改的group下标
输出:
codeword
--
更新完后的码字
group
--
更新完后的下标分类
Pr
--
更新完后的概率
香农编码:
Shannon
:
2021-10-21 21:56:39
12KB
系统开源
1