- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 17
数 据 结 构 课 程 设 计
设计题目: 哈夫曼树编码译码
课题名称
哈夫曼树编码译码
院 系
年级专业
学 号
姓 名
成 绩
课题设计
目的与
设计意义
1、课题设计目的:
在当今信息爆炸时代,如何采用有效的数据压缩技术节省数据文件的存储空间和计算机网络的传送时间已越来越引起人们的重视,哈夫曼编码正是一种应用广泛且非常有效的数据压缩技术。哈夫曼编码是一种编码方式,以哈夫曼树—即最优二叉树,带权路径长度最小的二叉树,经常应用于数据压缩。哈弗曼编码使用一张特殊的编码表将源字符(例如某文件中的一个符号)进行编码。这张编码表的特殊之处在于,它是根据每一个源字符出现的估算概率而建立起来的。
2、课题设计意义:
哈夫曼编码的应用很广泛,利用哈夫曼树求得的用于通信的二进制编码称为哈夫曼编码。树中从根到每个叶子都有一条路径,对路径上的各分支约定:指向左子树的分支表示“0”码,指向右子树的分支表示“1”码,取每条路径上的“0”或“1”的序列作为和各个叶子对应的字符的编码,这就是哈夫曼编码。哈弗曼译码输入字符串可以把它编译成二进制代码,输入二进制代码时可以编译成字符串。
指导教师:
年 月 日
目 录
TOC \o 1-3 \h \z \u 第一章 需求分析 1
第二章 设计要求 1
第三章 概要设计 2
(1)其主要流程图如图1-1所示。 3
(2)设计包含的几个方面 4
第四章 详细设计 4
(1)①哈夫曼树的存储结构描述为: 4
(2)哈弗曼编码 5
(3)哈弗曼译码 7
(4)主函数 8
(5)显示部分源程序: 8
第五章 调试结果 10
第六章 心得体会 12
第七章 参考文献 12
附录: 12
第一章 需求分析
在当今信息爆炸时代,如何采用有效的数据压缩技术节省数据文件的存储空间和计算机网络的传送时间已越来越引起人们的重视,哈夫曼编码正是一种应用广泛且非常有效的数据压缩技术。哈夫曼编码是一种编码方式,以哈夫曼树—即最优二叉树,带权路径长度最小的二叉树,经常应用于数据压缩。哈弗曼编码使用一张特殊的编码表将源字符(例如某文件中的一个符号)进行编码。这张编码表的特殊之处在于,它是根据每一个源字符出现的估算概率而建立起来的(出现概率高的字符使用较短的编码,反之出现概率低的则使用较长的编码,这便使编码之后的字符串的平均期望长度降低,从而达到无损压缩数据的目的)。哈夫曼编码的应用很广泛,利用哈夫曼树求得的用于通信的二进制编码称为哈夫曼编码。树中从根到每个叶子都有一条路径,对路径上的各分支约定:指向左子树的分支表示“0”码,指向右子树的分支表示“1”码,取每条路径上的“0”或“1”的序列作为和各个叶子对应的字符的编码,这就是哈夫曼编码。哈弗曼译码输入字符串可以把它编译成二进制代码,输入二进制代码时可以编译成字符串。
第二章 设计要求
对输入的一串电文字符实现哈夫曼编码,再对哈夫曼编码生成的代码串进行译码,输出电文字符串。通常我们把数据压缩的过程称为编码,解压缩的过程称为解码。电报通信是传递文字的二进制码形式的字符串。但在信息传递时,总希望总长度能尽可能短,即采用最短码。假设每种字符在电文中出现的次数为Wi,编码长度为Li,电文中有n种字符,则电文编码总长度为∑WiLi。若将此对应到二叉树上,Wi为叶结点的权,Li为根结点到叶结点的路径长度。那么,∑WiLi恰好为二叉树上带权路径长度。因此 ,设计电文总长最短的二进制前缀编码,就是以n种字符出现的频率作权,构造一棵哈夫曼树,此构造过程称为哈夫曼编码。设计实现的功能: (1) 哈夫曼树的建立; (2) 哈夫曼编码的生成; (3) 编码文件的译码。
第三章 概要设计
哈夫曼编\译码器的主要功能是先建立哈夫曼树,然后利用建好的哈夫曼树生成哈夫曼编码后进行译码 。
在数据通信中,经常需要将传送的文字转换成由二进制字符0、1组成的二进制串,称之为编码。构造一棵哈夫曼树,规定哈夫曼树中的左分之代表0,右分支代表1,则从根节点到每个叶子节点所经过的路径分支组成的0和1的序列便为该节点对应字符的编码,称之为哈夫曼编码。
最简单的二进制编码方式是等长编码。若采用不等长编码,让出现频率高的字符具有较短的编码,让出现频率低的字符具有较长的编码,这样可能缩短传送电文的总长度。哈夫曼树课用于构造使电文的编码总长最短的编码方案。
(1)其主要流程图如图1-1所示。
开始
开始
结束
结点数是否大于1
将data和权值赋给ht
输出根结点和权值
调用SELECT函数
计算根结点函数
双亲结点为两子结点之和
输出两子结点和已构造的结
您可能关注的文档
- 供应商资料调查表--生产商.doc
- 构造地质学作业熊笑.doc
- 孤立性肺结节的深度评估.ppt
- 古代汉语第3阶段测试题3b.doc
- 股票行情技术分析理论(ppt 172页)-精.ppt
- 骨盆骨折业务学习.doc
- 鼓励大众创业 推动万众创新.ppt
- 固体物料分选机.ppt
- 关键岗位人员风险防控教育制式化培训课件-业管条线.ppt
- 关于安乐死的经典案例.doc
- 2017年江苏公务员考试《申论》真题(C类卷)及解析.pdf
- 2020年江苏公务员考试《申论》真题(C类)及参考答案.pdf
- 2010年425公务员联考《申论》卷及参考答案(广西、江苏、辽宁、天津、海南、湖南、蒙古、重庆、陕西、云南、宁夏).pdf
- 科学实验与观察-科学问题解决方法.pptx
- 长途运输:开创未来-掌握市场,提升物流服务.pptx
- 揭秘生活中的科学-提升科学素养,探索万物奥秘.pptx
- 携手家长,共育明日之星-优化教师家长协作机制.pptx
- 2024年台历挂历 A4可编辑打印 日历 月历 可记事 含农历,有周数,周日.pdf
- 2024年学生会五月份工作计划真题 .pdf
- 2024年安全工作例会管理制度(3篇) .pdf
最近下载
- 2025年湖南石油化工职业技术学院单招职业技能测试题库(各地真题).docx VIP
- 上海市六年级(下)数学同步讲义 第11讲 一元一次不等式(组)及其解法.doc VIP
- 人教版语文七年级下 列夫托儿斯泰课件(共45张PPT).pptx VIP
- 佳能(Canon )PowerShot SX系列 PowerShot SX1 IS 说明书.pdf
- 1.2 太空探索课件-七年级地理上学期中图版(2024).pptx VIP
- 人教版小学一年级数学课件- 两位数加一位数(不进位)、整十数.ppt
- 四人赛全真总题库(共3000题).docx VIP
- 2025新外研社版英语七年级下单词表(英译汉).docx
- 幼儿园大班语言:傻小熊进城.doc VIP
- 小肠梗阻的诊断与治疗中国专家共识(2023年版).pptx
文档评论(0)