基于哈夫曼编码的通信系统的设计实现分析.doc

基于哈夫曼编码的通信系统的设计实现分析.doc

ID:56764949

大小:112.00 KB

页数:9页

时间:2020-07-08

基于哈夫曼编码的通信系统的设计实现分析.doc_第1页
基于哈夫曼编码的通信系统的设计实现分析.doc_第2页
基于哈夫曼编码的通信系统的设计实现分析.doc_第3页
基于哈夫曼编码的通信系统的设计实现分析.doc_第4页
基于哈夫曼编码的通信系统的设计实现分析.doc_第5页
资源描述:

《基于哈夫曼编码的通信系统的设计实现分析.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、.工业大学《数据结构》课程实验实验报告题目:基于哈夫曼编码的通信系统的设计与实现专业:计算机科学与技术班级:计1301班:路浩禄源磊波浩川邹博睿王超完成日期:2015-1-13..一、试验容1)初始化处理:建立通信系统(1)建立有100句中文的信息集合,每个句子称为一条信息。(2)输入编码参数:①从终端输入编码字符集大小n,字符编码长度m(设n为4,m为8);②从终端输入编码字符(设为A,B,C,D);(3)生成每条信息的字符编码,构造字符编码集合;(4)计算每个字符在字符编码集合中出现的概率;(5)根据字符

2、概率构造哈夫曼树,求出每个字符的二进制编码。2)发送端信息编码(1)用户从信息集合中选择一条信息,找到该信息对应的字符编码;(2)根据该信息的字符编码,哈夫曼树求出的每个字符的二进制编码,构造出该信息的二进制编码,记录该二进制编码。(由于是软件模拟,没有发送设备,发送端的编码工作完成)。3)接受端信息译码(1)根据得到的信息的二进制编码,利用哈夫曼树求出的每个字符的二进制编码,还原出信息的字符编码;(2)根据信息的字符编码,找到对应的信息。5、实现提示(1)本试验涉及到通讯学科的编码理论和信息学科的数据压缩技

3、术。(2)根据参数生成的通信系统的所有信息的有效存储问题。(3)信息字符编码可参考随机数的方式生成,且要求保持唯一性二、试验目的(1)掌握二叉树的存储结构及其相关操作。(2)掌握构造哈夫曼树的基本思想,及其编码/译码过程。..三、流程图开始定义汉字信息stringmessage[10]通过随机数函数对汉字信息用字符集进行编码psw[i]设置随机数种子srand(time(NULL));定义字符集大小n输入字符集内容HT.HFMTree[i].word输入n统计汉字信息字符编码中各字符出现的频度HT.HFMTr

4、ee[k].weight用字符集对信息进行字符编码voidCreatCode(HCodeType&HT,intn)输入编码长度pi<2n-1Y指针初始化HT.HFMTree[i].parent=-1;HT.HFMTree[i].rchild=-1;HT.HFMTree[i].lchild=-1;逐个非叶结点构造根据各字符构的频度构造哈夫曼树CreatHFMTree(HT,n)N将各信息的字符编码进行哈弗曼树编码寻找具有最小、次小值的根建树哈夫曼编码CreatHFMCode(HT,HFMCode,n);链接父节

5、点和兄弟结点,i++父指针为空Y输出文字信息和对应的哈夫曼编码Y原来的最小变为次小,记下新的最小值比原来最小的还要小记下新的次小值比原来的次小还小N结束..四、源程序代码#include#include#include#includeusingnamespacestd;constintn=4;//叶子节点个数constintMAXVALUE=9999;intm,p;//编码参数stringl;intsize;//构造哈夫曼树结点typedef

6、struct{intweight;//权值intparent;//父节点intlchild;//左子树intrchild;//右子树charword;//编码字符}HNodeType;//构造哈夫曼编码数组typedefstruct{HNodeTypeHFMTree[2*n-1];//结点数intbit[n];intstart;}HCodeType;HCodeTypeHT;HCodeTypeHFMCode[n];stringmessage[10]={{"人之初"},{"性本善"},{"性相近"},{"习相远"

7、},{"苟不教"},{"性乃迁"},{"教之道"},{"贵以专"},{"昔孟母"},{"择邻处"}};stringpsw[10];//存储编码//对信息进行编码voidCreatCode(HCodeType&HT,intn){inti,j,k;charch;//存储编码的字符集..//权重初始化for(i=0;i<2*n-1;i++){HT.HFMTree[i].weight=0;}cout<<"请输入编码字符集的大小:m=";cin>>m;cout<<"请输入编码长度大小:p=";cin>>p;cout<<

8、"请输入编码字符:"<>HT.HFMTree[i].word;}//对汉字信息进行编码srand(time(NULL));cout<<"**************************************************************"<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。