- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课 程 设 计 说 明 书
课程名称: 数据结构
设计题目: 哈夫曼编/译码器
学 院: 计算机科学与信息工程学院
学生姓名: 申恒恒
学生学号:
专业班级: 网络工程13-01
指导教师: 冯 贺
2015年 6月 25日课 程 设 计 任 务 书
设计题目
哈夫曼编/译码器
学生姓名
申恒恒
所在院部
计算机科学与信息工程学院
专业、班级
网络工程13-1
设计要求:
1、根据哈夫曼树编码原理,构造哈夫曼树,创建一套哈夫曼编码;
2、读取文本文件,并对文件内容编码,生成编码文件;
3、对编码文件进行译码,获得恢复文件;
4、比较恢复文件和原文件是否相同。
学生应完成的工作:
1. 学生应认真学习参考程序,理解每个文件、每个函数以及各个变量的作用和意义。在此基础上进一步改进程序,最后正确地运行程序。
2. 对程序进行测试,设计详细的测试计划,然后根据测试计划设计测试用例,对程序进行测试。测试时应注意对各种边缘情况进行测试。
3. 完成课程设计报告。
参考文献:
1. 严蔚敏 版) 2011
2. 谭浩强 C程序设计(第四版) 清华大学出版社2010
工作计划:
1. 小组审题,查阅资料,进行设计前的必要资料准备(3天)。
2. 把程序完整运行出来(4天)。
3. 增加改进程序(3天)。
4. 写课程设计报告(3天)。
5. 提交课程设计报告及答辩(1天)
任务下达日期:2015 年 6 月 9 日
任务完成日期:2015 年 6 月 22 日
指导教师(签名): 学生(签名):申恒恒
哈夫曼编/译码器
摘 要:采用哈夫曼编码思想实现对字符串的编码,以及对编码的解码。字符串的长度不小于5000字节。读取要编码的文本文件,将文件的内容进行编码,生成新的文件。对编码文件进行解码,获得文本文件。将译码的文本文件和原文件进行比较,恢复文件和原文件必须完全一致。
关键词:哈夫曼编码 哈夫曼译码
目 录
哈夫曼编/译码器 2
1. 设计背景 4
1.1程序的功能 4
1.2输入输出的要求 4
2.设计方案 5
2.1程序结构 5
2.2数据结构 5
3. 方案实施 6
3.1详细设计 6
3.2 调试分析 6
3.2.1 发现问题 6
3.2.2 逐步解决问题 6
3.2.3 代码实现过程 7
3.3 核心源程序清单 12
4. 结果与结论 14
4.1程序运行结果图 14
4.2结论与心得体会 15
5. 参考文献 16
1. 设计背景
1.1程序的功能
(1) 从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树并将它存于文件hfmTree中.将已在内存中的哈夫曼树以直观的方式(比如树)显示在终端上;
(2) 利用已经建好的哈夫曼树(如不在内存,则从文件htmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中,并输出结果,将文件CodeFile以紧凑格式先是在终端上,每行50个代码。同时将此字符形式的编码文件写入文件CodePrint中;
(3) 利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中,并输出结果。
1.2输入输出的要求
先在执行文件的同根目录下创建abc.txt文件,在abc文件中输入各字母及相应的权值。
测试数据:
字符 空格 A B C D E F G H I J K L M 频度 186 64 13 22 32 103 21 15 47 57 1 5 32 20 字符 N O P Q R S T U V W X Y Z ? 频度 57 63 15 1 48 51 80 23 8 18 1 16 1 ?
2.设计方案
2.1程序结构
2.2数据结构
typedef struct
{
int weight; //权重
int parent,lchild,rchild; //父亲节点,左孩子,右孩子
}HTNode,* HuffmanTree; //定义节点和哈夫曼树结构体
3. 方案实施
3.1详细设计
初始化哈夫曼链表: void Initialization();
输入带编码的字符并写入文件:void InputCode();
编码: Encod
您可能关注的文档
最近下载
- Burberry 品牌延展手册【奢侈品】【品牌手册】.docx
- 计量经济学实验教程(终稿).pdf VIP
- 2025中华护理学会团体标准——抗肿瘤药物静脉给药技术.pptx
- 精品解析:天津市静海区瀛海学校2025-2026学年高二上学期11月月考数学试卷(原卷版).docx VIP
- 中华人民共和国国家标准声学家用电器及类似用途器具噪声测试方法 .pdf VIP
- 邻菲罗啉分光光度法测定铁一.pptx VIP
- 金属塑性变形理论-第8讲变形不均匀概念.pdf VIP
- 精品解析:天津市静海区瀛海学校2025-2026学年高二上学期11月月考数学试卷(解析版).docx VIP
- 资产管理公司员工保密协议.docx VIP
- 线性规划课件.pptx VIP
原创力文档


文档评论(0)