信息论课程设计报告材料

信息论课程设计报告材料

ID:40124731

大小:111.71 KB

页数:31页

时间:2019-07-22

信息论课程设计报告材料_第1页
信息论课程设计报告材料_第2页
信息论课程设计报告材料_第3页
信息论课程设计报告材料_第4页
信息论课程设计报告材料_第5页
资源描述:

《信息论课程设计报告材料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用文档成绩:2016-2017学年第1学期《信息论》课程设计学院名称:班级学号:学生姓名:教师姓名:标准文案实用文档2016年12月一、判定唯一可译码1.任务说明输入:任意的一个码(即已知码字个数及每个具体的码字)输出:判决结果(是/不是)输入文件:in1.txt,含至少2组码,每组的结尾为”$”符输出文件:out1.txt,对每组码的判断结果说明:为了简化设计,可以假定码字为0,1串2.实现原理判断方法:将码C中所有码字可能的尾随后缀组成一个集合F,当且仅当集合F中没有包含任一码字,则可判断此码C为

2、唯一可译变长码。构成集合F:首先观察码C中最短的码字是否是其他码字的前缀。若是,将其所有可能的尾随后缀排列出。就是将其他码字序列中截去与其最短码字相同的前缀部分,将余下的序列为尾随后缀。而这些尾随后缀又可能是某些码字的前缀,或者最短码字又仍是这些尾随后缀的前缀,再将由这些尾随后缀产生的新的尾随后缀列出。然后再观察这些新的尾随后缀是否是某些码字的前缀,或观察有否其他码字是这些新的尾随后缀的前缀,再将产生的尾随后缀列出,依次下去,直至没有一个尾随后缀是码字的前缀或没有新的尾随后缀产生为止。这样,首先获得的是

3、由最短码字能引起的所有尾随后缀。接着,按照上述步骤将次短的码字、......所有码字可能产生的尾随后缀前部列出。由此得到由码C的所有可能的尾随后缀组成的集合F。参考算法伪代码:Foralldo标准文案实用文档if是的前缀then将相应的后缀作为一个尾随后缀放入集合中EndifEndforLoopForalldoForalldoif是的前缀then将相应的后缀作为一个尾随后缀放入集合中Elseif是的前缀then将相应的后缀作为一个尾随后缀放入集合中EndifEndforEndforIfthenRetur

4、nfalseElseifF中未出现新的元素thenReturntrueEndif//能走到这里,说明F中有新的元素出现,需继续Endloop3.实现源码#include#include#include#include标准文案实用文档usingnamespacestd;#pragmawarning(disable:4996)charc[100][50];//保存码字charf[300][50];//保存尾随后缀intN,sum=0

5、;//N为码字的个数,sum为尾随后缀个数intflag;//判断是否唯一可译标志位//检测尾随后缀voidpatterson(charc[],chard[]){inti,j,k;for(i=0;;i++){If(c[i]==''&&d[i]=='')//两字符串一样长,跳出break;if(c[i]=='')//d比c长,将d的尾随后缀放入f中{for(j=i;d[j]!='';j++)f[sum][j-i]=d[j];f[sum][j-i]='';for(k=0;k

6、+){if(strcmp(f[sum],f[k])==0)/查看当前生成的尾随后缀在f集合中是否存在/{sum--;break;}}标准文案实用文档sum++;break;}if(d[i]=='')//c比d长,将c的尾随后缀放入f中{for(j=i;c[j]!='';j++)f[sum][j-i]=c[j];f[sum][j-i]='';for(k=0;k

7、ak;}}sum++;break;}if(c[i]!=d[i])//字符不一样了也退出(前缀不同)break;}}voidmain(){intk=0,N=0,m=0,a[50],z=0;a[m]=N;m++;fstreamfile1;标准文案实用文档file1.open("out1.txt");//码字读取FILEfile;file=fopen("in1.txt","r+");intnum=fgetc(file)-48;for(intn=0;n

8、le)=='')N+=(fgetc(file)-48);elseN+=(fgetc(file)-48);a[m]=N;m++;fgetc(file);for(k;k

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

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

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