哈夫曼编码C语程序设计课程设计报告.docVIP

哈夫曼编码C语程序设计课程设计报告.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文档。上传文档
查看更多
哈夫曼编码C语程序设计课程设计报告

哈尔滨工业大学学院 20本科《课程设计》报告 项目题目: 班 级: 项目组编号: 班第组 项目组成员: 姓名 学号 杜嘉诚 6120610319 指导教师: 开始日期: 20年月日 完成日期: 20年月日 目 录 2012C语言程序设计课程设计》评价表 I 哈尔滨工业大学课程设计任务书 II 第1部分 项目开发计划 1 第2部分 系统分析 2 第3部分 系统设计 3 第4部分 系统实现及测试 4 第5部分 项目总结 5 参考文献 6 附录1 函数总表 7 附录2 全局变量及主函数代码 7 附录3 部分重要代码 7 2012级本科《课程设计》评价表 题 目 指导老师 项 目 内 容 简 介(0字) 学 号 姓 名 项目组内角色职责 贡献排 平时扣成 绩 评 委 评 分 评选项 得分 项目规模、技术难度、工作量(20分) 项目文档及报告(20分) 项目实现结果(可运行演示)(20分) 答辨表现(30分) 团队分工与协作情况(10分) 项目总分(100分) 项目评价 项目规模及工作量(□饱满、□达到要求、□不饱满);项目实现结果 (□良好、□有小问题、□错误较多);项目文档及报告撰写(□规范、□较规范、□不规范、□未提交);答辩表示(□优秀、□良好、□一般、□较差) ,团队分工及协作(□很好、□较好、□一般、□较差)。 签字 课程负责人签字 答辩日期: 年月 日 哈尔滨工业大学课程设计任务书 姓 名: 院 (系):专 业: 班 号: 任务起至日期: 20年月日 至 20年月 日 课程设计题目: 项目: 工作量: 工作计划安排: 同组设计者及分工: 第1部分 项目开发计划第部分 系统 1 需求分析: 设计一个哈夫曼编码压缩与解压缩程序。对一个ASCII编码 1.2.1压缩程序: (1)从文件中读入任意; 统计不同字符在文章中出现的频率ASCII码中包含的字符如标点符号等。根据字符频率构造哈夫曼树.1 哈夫曼树的建立 哈夫曼树的创建是程序的根本,程序需要利用哈夫曼树来确定字符的编码建立密码表,同时也据此压缩文件。 哈夫曼树的抽象创建过程如下: 一、构成初始集合   对给定的n个权值{W1,W2,W3,...,Wi,...,Wn}构成n棵二叉树的初始集合F={T1,T2,T3,...,Ti,...,Tn},其中每棵二叉树Ti中只有一个权值为Wi的根结点,它的左右子树均为空。 二、选取左右子树   在F中选取两棵根结点权值最小的树作为新构造的二叉树的左右子树,新二叉树的根结点的权值为其左右子树的根结点的权值之和。 三、删除左右子树   从F中删除这两棵树,并把这棵新的二叉树同样以升序排列加入到集合F中。 四、重复二和三两步,   重复二和三两步,直到集合F中只有一棵二叉树为止。.2 产生代码 如图2-1,哈夫曼树的每一个叶子都代表着一个字符,我们可以规定从根节点向叶节点经历,经历左儿子,编码添0,若是右儿子编码添1,这样每一个叶子节点便会有一个确定的哈夫曼编码了。同时这种编码不会有读取不唯一的情况出现,因为每一个字符对应的叶子节点下方没有儿子,故不会有重合代码。 图-1 哈夫曼树与编码演示图 3.3 将编码后的文件按bit存储与解压 最容易实现的文件输出方式是将原文件中的每一个字符用相应的字符编码按0,1字符串形式输出为txt文件,解压缩时,也按char类型读取,使用getc()函数读取每一位0,1,然后每读到对应编码就输出字符,此种方法十分简单易行。但是问题在于原字符按1个char大小存储,而编码后肯定不止1个char的大小,故压缩后反而变大,这肯定达不到需要的效果。所以必须将文件中的0,1按

文档评论(0)

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

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

1亿VIP精品文档

相关文档