哈夫曼编码c语言例题,关于哈夫曼编码试题的计算
满意答案
tyx4953068
推荐于 2017.11.26
采纳率:43% 等级:11
已帮助:10064人
太复杂了,楼主一会记得多给我点分!谢谢啦!
先设权w=(31,22,18,14,10,4,1),n=7,则m=13,按照哈夫曼算法可以构造一棵哈夫曼树如下:
100
40 60
22 18 31 29
14 15
10 5
4 1
末端结点为22,18,31,14,10,4,1,你自己把上面的加上线连成一棵二叉树就行,记得左分支标0,右分支标1(为了得出后面的哈夫曼编码HC)
然后需要列出HT初态表和HT终态表,如下:
HT初态表 HT终态表
weight parent lchild rchild weight parent lchild rchild
1 31 0 0 0 31 12 0 0
2 22 0 0 0 22 11 0 0
3 18 0 0 0 18 11 0 0
4 14 0 0 0 14 10 0 0
5 10 0 0 0 10 9 0 0
6 4 0 0 0 4 8 0 0
7 1 0 0 0 1 8 0 0
8 - 0 0 0 5 9 6 7
9 - 0 0 0 15 10 5 8
10 - 0 0 0 29 12 4 9
11 - 0 0 0 40 13 2 3
12 - 0 0 0 60 13 1 10
13 - 0 0 0 100 0 11 12
最后得出哈夫曼编码HC:
1——>10
2——>00
3——>01
4——>110
5——>1110
6——>11110
7——>11111
平均码字长度为(0.31+0.22+0.18)×2+0.14×3+0.1×4
+(0.04+0.01)×5=2.47
编码效率为[(1-0.01)×3+0.01×2]/2.47=1.21
解答完毕!
补充:对于其中的编码效率问题本人有点淡忘,我选择的是用
普通平均编码长度除上了哈夫曼平均编码长度得出,不知对否。
辛苦半天,望楼主能赐我分数,不胜感激!
注:提交后发现格式不太规整,对于哈夫曼树谁是谁的左孩子、右孩子比较容易分出(左右孩子结点相加可知父亲结点),对于HT初态表和HT终态表1列1列的看就行!其中数字第一列为序号,从第2列到第9列分别对应HT初态表的weight parent lchild rchild 和HT终态表的weight parent lchild rchild 。
272分享举报
哈夫曼编码c语言例题,关于哈夫曼编码试题的计算相关推荐
- 哈夫曼字符串编码c语言实现,基于哈夫曼(haffuman)算法的文件压缩的实现(C语言)(原创)...
本文首先简要阐述哈夫曼算法的基本思想,然后介绍了使用哈夫曼算法进行文件压缩和解压缩的 处理步骤,最后给出了C语言实现的文件压缩和解压缩的源代码. 哈夫曼算法的主要思想是: ①首先遍历要处理的字符串,得 ...
- 二进制哈夫曼编码c语言实现,二进制霍夫曼编码
通过查看其他博客的内容,整理一篇关于二进制霍夫曼编码的笔记供大家参考和讨论,如果有错误,欢迎大家联系我批评指正. 一.二进制霍夫曼的原理 我们可以将二进制霍夫曼编码拆分理解: 二进制即 0.1: 二进 ...
- 蓝桥哈夫曼树C语言,实验四 哈夫曼树及哈夫曼编码
实验目的## 掌握哈夫曼树的概念.哈夫曼编码及其应用. 掌握生成哈夫曼树的算法. 会用哈夫曼树对传输报文进行编码. 掌握二叉树的二叉链表存储方式及相应操作的实现. ##实验内容## 用哈夫曼编码进行通 ...
- HuffMan编码C语言实现
HuffMan编码C语言实现 实现了一种编码方式,和两种解码方式. 解码一种使用的是叶子回溯根. 一种使用了从根遍历过程. 代码: HuffManEncoding // // Created by Z ...
- C语言Huffman Encode霍夫曼编码的算法(附完整源码)
C语言Huffman Encode霍夫曼编码的算法 C语言Huffman Encode霍夫曼编码的算法完整源码(定义,实现,main函数测试) C语言Huffman Encode霍夫曼编码的算法完整源 ...
- 哈夫曼编码c语言论文,哈夫曼编码的实现及应用论文.doc
哈夫曼编码的实现及应用论文 毕 业 设 计(论文) 题目 哈夫曼编码的实现 及应用 二级学院 数学与统计学院 专 业 信息与计算科学 班 级 学生姓名 张泽欣 学号 指导教师 职称 时 间 目录 摘要 ...
- 哈夫曼编码c语言实现
哈夫曼编码的原理看 百度百科 先生成一个哈夫曼树,参考 哈夫曼树c语言实现 生成接近等长码 须要注意的是,为了缩短码长方差,且编出的码更接近于等长码,排序的时候,第一优先级为概率大小,第二优先级为左节 ...
- 信息论 输入概率的哈夫曼编码 C语言
信息论 哈夫曼编码 C语言 哈夫曼编码是一种效率比较高的变长无失真信源编码方法.哈夫曼编码的编码方法,步骤如下: 将信源符号按概率从大到小的顺序排列,为方便起见,令p(a1)>=p(a2)> ...
- 信息论霍夫曼编码c语言,Huffman 信息论与编码 - 下载 - 搜珍网
霍夫曼编码/Shiyan4/Shiyan.sln 霍夫曼编码/Shiyan4/Shiyan.suo 霍夫曼编码/Shiyan4/Shiyan.v11.suo 霍夫曼编码/Shiyan4/Shiyan4 ...
- 香农费诺编码 c语言实现,对于香农编码、费诺编码和哈夫曼编码,编码方法惟一的是()。...
问题标题 对于香农编码.费诺编码和哈夫曼编码,编码方法惟一的是(). 2019-8-15来自ip:15.170.14.227的网友咨询 浏览量:533 手机版 问题补充: 题目类型:[填空题] 对于香 ...
最新文章
- Silve“.NET研究”rlight 游戏开发小技巧:传说中的透视跑马灯
- 第十天2017/04/21(2、泛型编程:模板 / 全特化、偏特化)
- C#验证Email是否真正存在,不是验证邮件格式,是邮件地址是否存在 .
- My way on Linux - 知识梳理计划
- myeclipse如何修改Web项目名称
- 国嵌c语言深度,国嵌C语言3部全
- 手把手教你写竞品分析
- 踵事增华:新形势下如何高效撰写科技论文!
- jQuery设置下拉框select 默认选中第一个option
- CSC联合培养加拿大工签攻略
- 步进电机基础及工作原理
- Debian10校准时间同步系统时间和硬件时间的方法
- 快速入门了解后端网络方面必备知识
- python多线程爬取美图录网站图集按模特姓名存储到本地(二)
- 2023最新最新ChatGPT超全面从基础到实战视频教程/有兴趣自己学
- 网络信息化时代,3D产品建模宣传很到位
- 希尔伯特变换求瞬时频率的matlab动态实现
- Aspose.PDF 23.1.0 for .NET Crack
- python给列表的N个元素赋值-*表达式
- Fraud Busters
热门文章
- c语言病毒编写教程,来来来,教你一个用C语言写个小病毒
- 电子元器件篇—共模电感
- 令牌桶限流-java实现
- 在虚拟机centos7中使用docker安装nginx后,本地浏览器无法访问?
- 分频器+计数器+数码管显示VHDL
- 成都理工大学乐千桤java考试,成都理工大学方案.PDF
- Socket通讯之UDP
- 摄像机标定原理与操作
- 清华计算机系研究生刘艺华,2017年清华大学计算机系硕士录取名单
- lol大脚一直卡在读取服务器信息,英雄联盟大脚 - 英雄联盟 - LOL英雄联盟官网 - 英雄联盟攻略 - 英雄联盟专题站...