资源描述:
《信息论与编码实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、信息论与编码实验报告学院:计算机与通信工程学院班级:计1201学号:41255020姓名:周文文2014年12月30日实验一:唯一可译码判别准则一、实验目的(1)进一步熟悉唯一可译码判决准则;(2)掌握C语言字符串处理程序的设计和调试技术二、实验内容(1)已知:信源符号个数q、码字集合C。(2)输入:任意的一个码。码字个数和每个具体的码字在运行时从键盘输入。(3)输出:判决(是唯一可译码/不是唯一可译码)。三、实验原理(1)首先判断其是否是非奇异码。若是奇异码,则一定不是唯一可译码。(2)考察C中所有的码字,若Wi是Wj的前缀,则将对应的后缀作一个尾随后缀码放入集合F0中。(3)考察C和Fi
2、中的所有码字,若Fi中的码字Wi是C中的码字Wj的前缀或者C中的码字Wi是Fi中的码字Wj的前缀,则将相应的后缀放在Fi+1中。(4)若F1,F2,…的并集F中出现了C中的元素,则判别该码不是唯一可译码,否则该码是唯一可译码。四、实验环境机电楼301机房,VC++五、实验文件存档名Shiyan1六、实验结果及分析(1)源代码:#include#includechara[100][100];charb[100][100];intN;intnum=0;intonly;voidmain()//主函数{voidfunc(chara[],chard[]);inti
3、,j;charx='Y';while(x=='Y'
4、
5、x=='y')//可循环的输入11{printf("请输入码字个数:");scanf("%d",&N);only=0;printf("请输入码字:");for(i=0;i6、for(j=i+1;j7、,&x);}}voidfunc(chara[],chard[])//构建F集合{inti,j,k;for(i=0;;i++){if(a[i]==' '&&d[i]==' ')break;if(a[i]==' '){for(j=i;d[j]!=' ';j++)b[num][j-i]=d[j];b[num][j-i]=' ';for(k=0;k