- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构哈夫曼编码加密文件
学号 《》
课程设计报告
哈夫曼编码加密文件 专业: 班级: 姓名: 学号: 指导教师: 成绩:
计算机与信息工程系
2014年 10月 30 日目 录
1问题描述.................................................................................1
2需求分析..................................................................................1
2.1 数据结构.............................................1
2.2 主要函数.............................................1
3概要设计
4.1流程图................................................3
4.2源代码................................................4
5测试情况.......................................10
6测试结果.......................................11
7总结与提高.....................................15
参考文献.........................................16
1 问题描述
用哈夫曼编码,将输入的文字,或者文件中的文字进行编码,并输出加密后的文字。
2需求分析
2.1 数据结构
此函数中运用到的数据结构知识就是哈夫曼树的建立以及遍历,建立主要就是每一次选择权值最小的两个数并将其求和,然后用他们的和代替这两个数,再进行求两个最小值,最后构成一个哈夫曼数;遍历是采用从叶子结点开始向根节点确定唯一的路径。掌握现实复杂问题的分析建模和解决方法(包括问题描述、系统分析、设计建模、代码实现、结果分析等);提高利用计算机分析解决综合性实际问题的基本能力。void showMenu(); 功能是输出菜单列表使用菜单操作,提示用户相应的操作,用户指定文件对其进行加密或解密,在屏幕上可以看到文件内容。对文件的操作,此程序主要是为了实现赫夫曼编码及其应用,核心问题是创建赫夫曼树并进行编码,但是在编码问题中出现了问题,由于01编码的长度无法确定,我现在用的方法是用数组存放,用计数来控制数组输出,这样会使空间浪费,改进的想法是用指针来存储,这样就可以节省空间,鉴于空间的使用和实现复杂程度就使用了数组存放。源代码可在VC等编译器下连接编译运行,huffman.exe运行环境要求低。
2014-2015学年 第学期
显示系统时间shoutime()
给用户提供选择方式choice1()
显示界面告诉用户程序名称show()
退出程序
打开文件进行加密
openfile()
输入电文进行加密
input()
统计输入文件中字母的出现频率CrW(datd,w,count)
将输入文件中的电文创建成哈夫曼树CrtHuffmantree(ht,w,n)
将输入文件中的电文进行哈夫曼编码CrtHuffmanCode(ht,hc,n)
输出每一个字母所对应的哈夫曼编码printf(hc,n,data,alldata,count)
对输入文件中的文字进行哈夫曼加密showall(hc,alldata,count,data,n)
1
3
文档评论(0)