第六周作业1——利用哈夫曼编码英文字母表
来源:互联网 发布:苹果cms解析教程 编辑:程序博客网 时间:2024/05/17 08:06
哈夫曼编码的具体步骤归纳如下:
① 概率统计(如对一幅图像,或m幅同种类型图像作灰度信号统计),得到n个不同概率的信息符号。
② 将n个信源信息符号的n个概率,按概率大小排序。
③ 将n个概率中,最后两个小概率相加,这时概率个数减为n-1个。
④ 将n-1个概率,按大小重新排序。
⑤ 重复③,将新排序后的最后两个小概率再相加,相加和与其余概率再排序。
⑥ 如此反复重复n-2次,得到只剩两个概率序列。
⑦ 以二进制码元(0.1)赋值,构成哈夫曼码字。编码结束。
求解过程演示:http://hi.baidu.com/jiang_yy_jiang/item/612a7b4a353199a9df2a9fa7
哈夫曼树:
字符表最优huffman编码:
r:0000 o:1000 空格:111 z:1101111101h:0001 b:1000100 t:1100 j:1101111110u:00100 p:1000101 f:110100 x:1101111111c:00101 y:1000110 w:110101s:0011 g:1000111 m:110110e:010 a:1010 v:1101110n:0110 l:10110 k:11011110i:0111 d:10111 q:1101111100
b.由 a可得: (3*2+4*8+5*4+6*7+7+8+10*4)/27≈ 5.74 ,即每个字母的编码平均需要6位。
c.结果肯定比熵(约为5.74)要大,因为在计算熵的时候允许有小数个比特,而实际上每个字符的编码长度都必需为整数。
d.不是,因为还可以把前缀,后缀或者整个单词的本身组合起来考虑
0 0
- 第六周作业——利用哈夫曼编码英文字母表
- 第六周作业——利用哈夫曼编码英文字母表
- 第六周作业——利用哈夫曼编码英文字母表
- 第六周作业——利用哈夫曼编码英文字母表
- 第六周作业——利用哈夫曼编码英文字母表
- 第六周作业——利用哈夫曼编码英文字母表
- 第六周作业—利用哈夫曼编码英文字母表
- 第六周作业—利用哈夫曼编码英文字母表
- 第六周作业1 -- 利用哈夫曼编码英文字母表
- 第六周作业1 -- 利用哈夫曼编码英文字母表
- 第六周作业1--利用哈夫曼编码英文字母表
- 第六周作业1-利用哈夫曼编码英文字母表
- 第六周作业1------利用哈夫曼编码英文字母表
- 第六周作业1 -- 利用哈夫曼编码英文字母表
- 第六周作业1——利用哈夫曼编码英文字母表】
- 第六周作业1——利用哈夫曼编码英文字母表
- 第六周作业1——利用哈夫曼编码英文字母表
- 第六周作业1——利用哈夫曼编码英文字母表
- SpringMvc国际化 根据不同请求调用不同的资源文件
- 微软面试100题之26题:左旋转字符串
- iOS通过ASIHTTPRequest提交JSON数据
- MySQL配置文件my.cnf详解附mysql性能优化方法
- 性能优化之Android布局优化
- 第六周作业1——利用哈夫曼编码英文字母表
- AWK 简明教程
- VS08 Word Excel
- leetcode难度及面试频率
- Myeclipse在debug时,鼠标移动到变量上无法显示变量值问题
- IOS中获取各种文件的目录路径的方法
- 【Android核心基础01】 - 体系结构、adb命令、目录结构、点击事件
- 360全景摄像相关
- led.S:12: Error: invalid constant -- `mov r0,#300000'