哈夫曼编码算法实现完整编辑.doc

上传人:一*** 文档编号:816789 上传时间:2019-07-19 格式:DOC 页数:8 大小:75.50KB
返回 下载 相关 举报
哈夫曼编码算法实现完整编辑.doc_第1页
第1页 / 共8页
哈夫曼编码算法实现完整编辑.doc_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《哈夫曼编码算法实现完整编辑.doc》由会员分享,可在线阅读,更多相关《哈夫曼编码算法实现完整编辑.doc(8页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、实验三实验三 树的应用树的应用一一. .实验题目实验题目:树的应用树的应用哈夫曼编码哈夫曼编码二二. .实验内容:实验内容:利用哈夫曼编码进行通信可以大大提高信道的利用率,缩短信息传输的时 间,降低传输成本。根据哈夫曼编码的原理,编写一个程序,在用户输入结点 权值的基础上求哈夫曼编码。 要求:从键盘输入若干字符及每个字符出现的频率,将字符出现的频率作 为结点的权值,建立哈夫曼树,然后对各个字符进行哈夫曼编码,最后打印输 出字符及对应的哈夫曼编码。 三、程序源代码三、程序源代码: : #include #include #include #include typedef structchar d

2、ata;int weight;int parent,lchild,rchild; HTNode,*HuffmanTree; typedef char * * HuffmanCode; void Select(HuffmanTree int tmp;for(int j=n+1;js2) /将选出的两个节点中的序号较小的始终赋给将选出的两个节点中的序号较小的始终赋给 s1s1 tmp=s1; s1=s2; s2=tmp; ps1.parent=j;ps2.parent=j; pj.lchild=s1; pj.rchild=s2; pj.weight=ps1.weight+ps2.weight; v

3、oid HuffmanCoding(HuffmanTree if(nch; return ch; void main() int n;int Array100;char cArray100;HuffmanTree HT;coutArrayi;int tag;char x=menu();while(1) switch (x) case I:HuffmanCoding(HT,n,cArray,Array);break;case E:Encoding(HT,n);break;case D:Decoding(HT,n);break;case P:Print();break;case Q:tag=0;c

4、outch;if (ch=y) coutc;x=c;else exit(1); 测试数据:测试数据:用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实 现以下报文的译码和编码:“THISTHIS PROGRAMPROGRAM ISIS MYMY FAVORITEFAVORITE“. 字符字符 空格 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 四四.

5、 .测试结果测试结果:如图一所示:如图一所示 五五. .实验体会实验体会通过本次实验,尤其在自己对程序的调试过程中,感觉对树的存储结构, 终结状态,还有编码,译码的过程都有了比较清晰的认识。在做本次实验时, 其他的都没什么问题,以前很少进行文件操作,刚开始有点手生,但是在实验 作完后,文件操作已经用的比较熟练了。最近几次实验,感到自己对本题实验 的运行机理和过程掌握的最为透彻。收获不小。在实验过程中,遇到的一个主 要问题是在 C+里面输入单个空格字符的问题。最终通过用 cin.getline()来 解决,但是还不是很理想。为了察看方便,把有些文件的内容直接显示在终端 上了,没有列出生成的文件里的结果。图一图一

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com