【数模】编码的传输问题 Huffman算法编程实现(matlab)

编码的传输问题

利用Huffman算法编程实现以下问题。

已知字母A,B,C,D,E,F出现的概率:

字母概率
A35%
B10%
C20%
D10%
E20%
F5%
哈夫曼编码基础知识复习

哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman编码(有时也称为霍夫曼编码)。

手算

在这里插入图片描述

matlab实现(huffmandict函数)

symbols = (1:6); % Alphabet vector
prob = [.35 .1 .2 .1 .2 .05]; % Symbol probability vector
[dict,avglen] = huffmandict(symbols,prob)

下面是程序输出结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gfKEoRJ9-1655092545577)(D:/typora%E5%9B%BE%E7%89%87/image-20220613114455736.png)]

字母编码
A00
B0100
C11
D011
E10
F0101
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值