- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录
1.问题描述……………………………………………………………1
2.基本要求……………………………………………………………1
3.数据结构……………………………………………………………1
4.总体设计……………………………………………………………1
5.详细设计……………………………………………………………2
5.1主函数 void main() ………………………………………………………2
5.2建立文件 void jianliwenjian()…………………………………………3
5.3输入原文 void luruyuanwen()…………………………………………4
5.4创建哈夫曼树 void chuangjian()………………………………………5
5.5编码 void bianma()……………………………………………………6
5.6对哈夫曼码译码 void yiwen()…………………………………………7
5.7保存译文 void baocunyiwen()……………………………………………8
5.8输出原文 void duquyuanwen() …………………………………………9
5.9输出原文编码 void duqubianma()…………………………………………10
5.10输出译文 void duquyiwen()……………………………………………11
6.测试与调试…………………………………………………………11
7.源程序清单…………………………………………………………8
8.实验心得……………………………………………………………28
PAGE \* MERGEFORMAT
PAGE \* MERGEFORMAT 20
问题描述
打开一篇英文文章,统计该文章中每个字符出现的次数,然后以它们作为权值,设计一个哈夫曼编/译码系统。
基本要求
以每个字符出现的次数为权值,建立哈夫曼树,求出哈夫曼编码,对文件yuanwen中的正文进行编码,将结果存到文件yiwen中,再对文件yiwen中的代码进行译码,结果存到textfile中。
数据结构
char CH[N]; //记录原文字符数组
char YW[N]; //记录译文字符数组
typedef char * Hcode[m+1]; //存放哈夫曼字符编码串的头指针的数组
typedef struct
{
char a;
int num;
}dangenode; //记录单个字符的类别和出现的次数
typedef struct
{
dangenode b[m];
int tag;
}jilunode; //统计原文出现的字符种类和数量
typedef struct node //静态三叉的哈夫曼树的定义
{
int weight; //结点的权值
int parent; //双亲的下标
int Lchild; //左孩子结点的下标
int Rchild; //右孩子结点的下标
}htnode,hn[M+1]; // hn是结构数组类型,0号单元不用
总体设计
功能函数模块划分
void main() //主函数
void jianliwenjian() //建立存储原文的文件yuanwen
void luruyuanwen() //通过程序录入原文到文件yuanwen中
void min_2(hn ht,int n,int *tag1,int *tag2) //选择权值较小的两个结点
void chuangjian(jilunode * jilu,hn ht) //建立哈夫曼树
void bianma(jilunode * jilu,hn ht,Hcode hc,int n) //对原文进行编码
void bianmabaocun(Hcode hc,jilunode * jilu) //保存编码在文件yiwen中
void yiwen(Hcode hc,jilunode * jilu) //读取yiwen中的编码,并将其翻译为原文
void baocunyiwen()
您可能关注的文档
- 呼伦贝尔市水资源利用及水利情况.doc
- 卧式储罐焊接结构和工艺设计.doc
- 卧式双面十轴钻组合机床夹具及液压系统设计.doc
- 包装工艺学课程设计.doc
- 冷库课程设计.doc
- 供热管网竣工资料格式.doc
- 咸阳职业技术学院宿舍楼组织设计2.doc
- 冷热源课程设计.doc
- 会计账簿设计.doc
- 乙醇和正丙醇物系分离系统的设计.doc
- 2025至2030年中国卫生级法兰市场分析及竞争策略研究报告.docx
- 2025至2030年中国压克力展架市场分析及竞争策略研究报告.docx
- 2025至2030年中国五金喇叭网市场分析及竞争策略研究报告.docx
- 2025至2030年中国低农残红参市场分析及竞争策略研究报告.docx
- 2025至2030年中国吸鼓风烫台市场分析及竞争策略研究报告.docx
- 2025年高效柔软剂项目市场调查研究报告.docx
- 2025年枸杞香鸡项目市场调查研究报告.docx
- 2025年泳池扶手项目市场调查研究报告.docx
- 2025山东昌邑北海村镇银行社会招聘15人(2025届可报)笔试历年典型考题及考点剖析附带答案详解.docx
- 2025年中国车载MP3转发器数据监测研究报告.docx
文档评论(0)