基于某哈夫曼编码地通信系统地设计与实现

基于某哈夫曼编码地通信系统地设计与实现

ID:30214694

大小:145.13 KB

页数:9页

时间:2018-12-27

基于某哈夫曼编码地通信系统地设计与实现_第1页
基于某哈夫曼编码地通信系统地设计与实现_第2页
基于某哈夫曼编码地通信系统地设计与实现_第3页
基于某哈夫曼编码地通信系统地设计与实现_第4页
基于某哈夫曼编码地通信系统地设计与实现_第5页
资源描述:

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

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)本试验涉及到通讯学科的编码理论和信息学科的数据压缩技术。(2)根据参数生成的通信系统的所有信息的有效

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

4、odeType&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);链接父节点和兄弟结点,i++父指针为空Y输出文字信息和对应的哈夫曼编码Y原来的最小变为次小,记下新的最小值比原来最小的还

5、要小记下新的次小值比原来的次小还小N结束四、源程序代码#include#include#include#includeusingnamespacestd;constintn=4;//叶子节点个数constintMAXVALUE=9999;intm,p;//编码参数stringl;intsize;//构造哈夫曼树结点typedefstruct{intweight;//权值intparent;//父节点intlchild;//左子树intrchild;//右子树charwor

6、d;//编码字符}HNodeType;//构造哈夫曼编码数组typedefstruct{HNodeTypeHFMTree[2*n-1];//结点数intbit[n];intstart;}HCodeType;HCodeTypeHT;HCodeTypeHFMCode[n];stringmessage[10]={{"人之初"},{"性本善"},{"性相近"},{"习相远"},{"苟不教"},{"性乃迁"},{"教之道"},{"贵以专"},{"昔孟母"},{"择邻处"}};stringpsw[10];//存储编码//对信息进行编码voidCrea

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

8、****************************************************"<

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

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

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