数据结构数据结构课程设计---Huffman编码.docVIP

数据结构数据结构课程设计---Huffman编码.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构数据结构课程设计---Huffman编码

数据结构课程设计 题目: Huffman编码 姓名: 班级: 学号: 指导老师: 日期: 2013年6月24日 前言 3 课程设计报告 5 一.实验目的 5 二.实验题目:赫夫曼编码 7 1.问题描述 7 2.需求分析 7 三. 概要设计 9 四. 详细设计 11 1.设计思想 11 五. 测试分析 16 六. 使用说明 18 七. 测试结果 19 八. 附录 20 1.源代码 20 2.运行结果 25 前言 随着计算机的普遍应用与日益发展,其应用早已不局限于简单的数值运算,而涉及到问题的分析、数据结构框架的设计以及设计最短路线等复杂的非数值处理和操作。算法与数据结构的学习就是为以后利用计算机资源高效地开发非数值处理的计算机程序打下坚实的理论、方法和技术基础。 算法与数据结构旨在分析研究计算机加工的数据对象的特性,以便选择适当的数据结构和存储结构,从而使建立在其上的解决问题的算法达到最优。 数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式。 《数据结构》主要介绍一些最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行各种运算时的实现算法,并对算法的效率进行简单的分析和讨论。数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。 学习数据结构是为了将实际问题中所涉及的对象在计算机中表示出来并对它们进行处理。通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。 课程设计报告、 二.实验题目:赫夫曼编码 1.问题描述 已知某系统在通信联络中只可能出现8种字符(a,b,c,d,e,f,g,h),   2.需求分析 赫夫曼编码的应用很广泛,利用赫夫曼树求得的用于通信的二进制编码成为赫夫曼编码。树中从根到 每个叶子都有一条路径,对路径上的各分支约定:指向左子树的分支表示“0”码,指向右子树的分支表示 “1”码,取每条路径上的“0”或“1”的序列作为和每个叶子对应的字符的编码,这就是赫夫曼编码。 通常我们把数据压缩的过程称为编码,解压缩的过程称为解码。电报通信是传递文字的二进制码形式 的字符串,但在信息传递时,总希望总长度能尽可能短,即采用最短码。 假设每种字符在电文中出现的次数为W i ,编码长度为L i ,电文中有n 种字符,则电文编码总长为∑W i L i 。 若将此对应到二叉树上,W i 为叶节点的权 ,L i 为根节点到叶节点的路径长度。那么,∑W i L i 恰好为二叉 树上带权路径长度。 因此,设计电文总长最短的二进制前缀编码,就是以n 种子符出现的频率作权,构造一刻赫夫曼树, 此构造过程成为赫夫曼编码。 本演示程序用编写,完成的。输入的形式和输入值的范围: 输出的形式: 程序所能达到的功能:测试数据:,   三. 概要设计 (1)为了实现上述程序功能,需要定义单链表的抽象数据类型:ADT BinaryTree {  数据对象:D 数据关系:,则R=,称BinaryTree为空二叉树; 若D,则R={H} 基本操作:void HuffmanCoding(HuffmanTree,HuffmanCode,int) 操作结果:void Select(HuffmanTree,int,int*,int*) 操作结果:void OutputHuffmanCode(HuffmanTree,HuffmanCode,int) 操作结果:2)本程序包含个函数:    主函数main()   函数HuffmanCoding  函数Select ()   函数OutputHuffmanCode ()    各函数间关系如下:HuffmanCoding() Main Select () OutputHuffmanCode () 四. 详细设计 实现概要设计中定

文档评论(0)

gz2018gz + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档