数据结构课程设计--数据结构课程设计----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 编码 姓名: 班级: 学号: 指导老师: 日期: 2013 年 6 月 24 日 前言 3 课程设计报告 5 一.实验目的 5 二.实验题目:赫夫曼编码 7 1.问题描述 7 2.需求分析 7 三 . 概要设计 9 四 . 详细设计 11 1.设计思想 11 五 . 测试分析 15 六 . 使用说明 17 七 . 测试结果 18 八 . 附录 19 1.源代码 19 2.运行结果 24 前言 随着计算机的普遍应用与日益发展, 其应用早已不局限于简单的数值运算,而涉及到问题的分析、 数据结构框架的设计以及设计最短路线等复杂的非数值处理和操作。 算法与数据结构的学习就是为以后利用计算机资源高效地开发非数值处理的计算机程序打下坚实的理论、方法和技术基础。 算法与数据结构旨在分析研究计算机加工的数据对象的特 性,以便选择适当的数据结构和存储结构, 从而使建立在其上的解决问题的算法达到最优。 数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成, 即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。 逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式。 《数据结构》 主要介绍一些最常用的数据结构, 阐明各种数据结 构内在的逻辑关系, 讨论其在计算机中的存储表示, 以及在其上进行 各种运算时的实现算法, 并对算法的效率进行简单的分析和讨论。 数 据结构是介于数学、 计算机软件和计算机硬件之间的一门计算机专业 的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及 人工智能等的重要基础, 广泛的应用于信息学、 系统工程等各种领域。 学习数据结构是为了将实际问题中所涉及的对象在计算机中 表示出来并对它们进行处理。通过课程设计可以提高学生的思维能 力,促进学生的综合应用能力和专业素质的提高。 课程设计报告 一.实验目的 数据结构作为一门学科主要研究数据的各种逻辑结构和存储结构,以及对数据的各种操作。因此,主要有三个方面的内容:数据的 逻辑结构;数据的物理存储结构;对数据的操作(或算法) 。通常,算法的设计取决于数据的逻辑结构, 算法的实现取决于数据的物理存储结构。数据结构是信息的一种组织方式, 其目的是为了提高算法的效率,它通常与一组算法的集合相对应, 通过这组算法集合可以对数据结构中的数据进行某种操作。 数据结构课程主要是研究非数值计算的程序设计问题中所出现的 计算机操作对象以及它们之间的关系和操作的学科。 数据结构是介于 数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程, 它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的 重要基础,广泛的应用于信息学、系统工程等各种领域。 学习数据结构是为了将实际问题中所涉及的对象在计算机中表示 出来并对它们进行处理。 通过课程设计可以提高学生的思维能力, 促进学生的综合应用能力和专业素质的提高。 通过此次课程设计主要达到以下目的: 1、了解并掌握数据结构与算法的设计方法, 具备初步的独立分 析和设计能力; 2、初步掌握软件开发过程的问题分析、系统设计、程序编码、 测试等基本方法和技能; 3、提高综合运用所学的理论知识和方法独立分析和解决问题的 能力; 4、训练用系统的观点和软件开发一般规范进行软件开发,培养 软件工作者所应具备的科学的工作方法和作风。 二.实验题目:赫夫曼编码 问题描述 知 某 系 统 在 通 信 联 络 中 只 可 能 出 现 8 种 字 符 a,b,c,d,e,f,g,h),其概率分别是 :0.06 ,0.28 ,0.07 ,0.09 ,0.14 , 0.21 ,0.03 ,0.12 ①输入 8 种字符的概率; ②构造赫夫曼树; ③输出每个字符的赫夫曼编码 ; 需求分析 赫夫曼编码的应用很广泛, 利用赫夫曼树求得的用于通信的二进制编码成为赫夫曼编码。树中从根到 每个叶子都有一条路径,对路径上的各分支约定:指向左子树的分支表示“ 0”码,指向右子树的 分支表示 “1”码,取每条路径上的“ 0”或“1”的序列作为和每个叶子对应的字符的编码,这就是赫夫曼编码。 通常我们把数据压缩的过程称为编码, 解压缩的过程称为解码。 电报通信是传递文字的二进制码形式 的字符串,但在信息传递时, 总希望总长度能尽可能短,即采用最短码。 假设每种字符在电文中出现的次数为 W i , 编码长度为 L i ,电 文中有 n 种字符,则电文编码总长为∑ W i L i 。 若将此对应到二 叉树上, W i 为叶节点的权 ,L i 为根节点到叶节点的路径长度。 那么,∑ W i L

文档评论(0)

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

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

1亿VIP精品文档

相关文档