- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
算法与数据结构课程设计
《数据结构》课程设计
题目--哈夫曼编码/译码的设计与实现
班级:13数据库一班
学号:1315925280
姓名:吴松
指导教师:王超
18
页脚内容
算法与数据结构课程设计
目录
目录…………1
一、需求分
析………………2
二、设计要
求………………2
三、概要设计………………2
1、流程图……………2
2、设计包含的几个部分……………4
四、详细设计………………2
五、显示结
果………………9.
六、心得体
会………………10
七、参考文
献………………11
18
页脚内容
算法与数据结构课程设计
哈夫曼编码译码
一、需求分析
在当今信息爆炸时代,如何采用有效的数据压缩技术节省数据文件的存储空
间和计算机网络的传送时间已越来越引起人们的重视,赫夫曼编码正是一种应用
广泛且非常有效的数据压缩技术。哈夫曼编码是一种编码方式,以哈夫曼树—即
最优二叉树,带权路径长度最小的二叉树,经常应用于数据压缩。哈弗曼编码使
用一张特殊的编码表将源字符(例如某文件中的一个符号)进行编码。这张编码
表的特殊之处在于,它是根据每一个源字符出现的估算概率而建立起来的(出现
概率高的字符使用较短的编码,反之出现概率低的则使用较长的编码,这便使编
码之后的字符串的平均期望长度降低,从而达到无损压缩数据的目的)。赫夫曼
编码的应用很广泛,利用赫夫曼树求得的用于通信的二进制编码称为赫夫曼编
码。树中从根到每个叶子都有一条路径,对路径上的各分支约定:指向左子树的
分支表示“0”码,指向右子树的分支表示“1”码,取每条路径上的“0”或“1”
的序列作为和各个叶子对应的字符的编码,这就是赫夫曼编码。哈弗曼译码输入
字符串可以把它编译成二进制代码,输入二进制代码时可以编译成字符串。
二、设计要求
对输入的一串电文字符实现赫夫曼编码,再对赫夫曼编码生成的代码串进行
译码,输出电文字符串。通常我们把数据压缩的过程称为编码,解压缩的过程称
为解码。电报通信是传递文字的二进制码形式的字符串。但在信息传递时,总希
望总长度能尽可能短,即采用最短码。假设每种字符在电文中出现的次数为Wi,
编码长度为Li,电文中有n种字符,则电文编码总长度为∑WiLi。若将此对应
到二叉树上,Wi为叶
文档评论(0)