数据结构课程设计---哈夫曼编码器.docVIP

  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文档。上传文档
查看更多
数据结构课程设计---哈夫曼编码器

程序设计(大作业)报告 课程名称:数据结构课程设计 设计题目:哈夫曼编码器 院 系:信息技术学院 班 级:计算机科学与技术2 班 设 计 者:郭彩丁 学 号:201011010205 指导教师:王亚宁 设计时间:2012.1.9-2012.1.11 昆明学院 昆明学院课程设计(大作业)任务书 姓 名:郭彩丁 院 系:信息技术学院 专 业:计算机科学与技术专业 学 号:201011010205 任务起止日期:2012.1.9-2012.1.11 课程设计题目:哈夫曼编码器 课程设计要求: (1)初始化:键盘输入n个字符和n个权值,建立哈夫曼树 (2)编码:利用建好的huffman树生成huffman编码 (3)输出编码 (4)字符和频度如下: ① 字符:空格 A B C D E F G H I J K L M N O P Q 频度:186 64 13 22 32 103 21 15 47 57 1 2 32 20 57 63 15 1 ② 字符:R S T U V W X Y Z 频度:48 51 80 23 8 18 1 16 工作计划及安排 (1)在上机之前选题 (2)选择合适的数据结构 (3)结点结构的设计 (4)算法设计与分析 (5)程序设计、实现、调试 (6)提交课程设计报告 指导教师签字 年 月 日 课程设计(大作业)成绩 学号:201011010205 姓名:郭彩丁 指导教师:王亚宁 老师 课程设计题目: 哈夫曼编码器 总结: 通过此次的课程设计使我认识了哈夫曼树的建立与应用,复习了数据结构中的树的存储结构,怎样构造哈夫曼树以及用哈夫曼树进行编码。学习数据结构能使我们为其它课程打好基础,而课程设计作为数据结构中一个重要环节能更好的使我们加深对它的了解。 指导教师评语: 成绩: 填表时间: 指导教师签名: 目录 程序设计(大作业)报告 1 昆明学院课程设计(大作业)任务书 2 1.问题描述 5 2.基本要求 5 3.数据结构 5 4.总体设计 5 5.详细设计 6 5.1程序流程图 6 5.2初始化哈夫曼树 7 5.3输入权值函数 7 5.4选择根结点,存放权值最小和次小序号 7 5.5构造哈夫曼树 7 5.6根据哈夫曼树求哈夫曼编码 7 6.测试与调试 7 6.1程序步骤演示 7 6.1.1输入各字符的权值 7 6.1.2输入字符 8 6.1.3得到哈夫曼编码 8 6.2程序测试结果 8 7.源程序清单 10 8.实验心得 13 1.问题描述 构造一棵哈夫曼树,根据所需输入的字符数目,分别输入字符的频度和字符,得到它们相应的编码,也就是设计一个哈夫曼编码器。 2.基本要求 以字符的频度为权值,建立哈夫曼树,求哈夫曼编码。根据字符及权值得到其相应的编码。 3.数据结构 typedef struct {int weight; /*结点的权值*/ int lchild,rchild,parent; /*左、右孩子及双亲的下标*/ }htnode; typedef htnode huffmantree[m+1]; /* huffmantree是结构数组类型,其0号单元不用,存储哈夫曼树 */ typedef struct {char ch; /*存储字符*/ char code[n+1]; /*存放编码位串*/ }codenode; typedef codenode huffmancode[n+1]; /*huffmancode是结构数组类型,其0号单元不用,存储哈夫曼编码*/ 4.总体设计 功能模块划分 void main() //主函数 void inithuffmantree(huffmantree ht) //初始化哈夫曼树函数inithuffmantree() void inputweight(huffmantree ht) //输入权值函数 void selectmin(huffmantree ht, int i, int *p1, int *p2) void createhuffmantree(huffmantree ht) //构造huffman树,h

文档评论(0)

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

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

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档