信息论实验报告英文半字节压缩编码技术程序流程图.docVIP

  • 5
  • 0
  • 约4.65千字
  • 约 12页
  • 2018-06-06 发布于江西
  • 举报

信息论实验报告英文半字节压缩编码技术程序流程图.doc

信息论实验报告英文半字节压缩编码技术程序流程图.doc

信息论实验报告英文半字节压缩编码技术程序流程图 信息论与编码实验报告 信息论与编码实验报告 学院: 计算机与通信工程学院 专业: 计算机科学与技术 班级: 计1203班 学号: 姓名: 2014年12月29日 实验一 唯一可译码判别准则 实验目的: 1.进一步熟悉唯一可译码判别准则; 2.掌握C语言字符串处理程序的设计和调试技术。 实验内容: 1.已知:信源符号数和码字集合C; 2.输入:任意的一个码,码字的个数和每个具体的码字在运行时从键盘输入; 3.输出:判决(是唯一可译码/不是唯一可译码);循环(若继续判决则输入1循环判决,否则输入0结束运行)。 实验原理: 根据唯一可译码的判别方法,利用数据结构所学的知识,定义字符串数据类型并利用指针进行编程来实现算法。 算法:1、考察C 中所有的码字,若Wi是 Wj的前缀,则将对应的后缀作为一个尾随后缀码放入集合Fi+1中; 2、考察C和Fi俩个集合,若Wi ∈C是 Wj∈F的前缀或Wi ∈F是 Wj∈C的前缀,则将相应的后缀作为尾随后缀码放入集合Fi+1中; 3、F=∪Fi即为码C的尾随后缀集合; 4、若F中出现了C中的元素,算法终止,返回假(C不是唯一可译码);否则若F中没有出现新的元素,则返回真。 实验环境及实验文件存档名: 1.实验环境:visual C++ 6.0 2.文件名 :weiyikeyi.cpp 实验结果及分析: 1.源代码: #includestdio.h #includestring.h char c[100][50]; char f[300][50]; int N,sum=0; //N为输入码字的个数,sum为尾随后缀集合中码字的个数 int flag;//判断是否唯一可译标志位 void patterson(char c[],char d[]) //检测尾随后缀 { int i,j,k; for(i=0;;i++) { if(c[i]==#39;\0#39;amp;amp;d[i]==#39;\0#39;)//2字符串一样,跳出 break; if(c[i]==#39;\0#39;) //d比c长,将d的尾随后缀放入f中 { for(j=i;d[j]!=#39;\0#39;;j++) f[sum][j-i]=d[j]; f[sum][j-i]=#39;\0#39;; for(k=0;ksum;k++) { if(strcmp(f[sum],f[k])==0) //查看当前生成的尾随后缀在f集合中是否存在 { sum--;break; } } sum++; break; } if(d[i]==#39;\0#39;) //c比d长,将c的尾随后缀放入f中 { for(j=i;c[j]!=#39;\0#39;;j++) f[sum][j-i]=c[j]; f[sum][j-i]=#39;\0#39;; for(k=0;ksum;k++) { if(strcmp(f[sum],f[k])==0) //查看当前生成的尾随后缀在 f集合中是否存在{ sum--;break; } } sum++; break; } if(c[i]!=d[i])//字符不一样了也退出 break; } } void yima() { int i,j; printf( ********唯一可译码判别********\n); printf(请输入码字的个数:);//输入码得个数 scanf(%d,amp;N); while(N100) { printf(输入码字个数过大,请输入小于100的数\n); printf(请输入码字的个数:); scanf(%d,amp;N); } flag=0; printf(请分别输入码字:\n); for(i=0;iN;i++) { scanf(%s,amp;c[i]); } for(i=0;iN-1;i++)//判断如果码本身是否重复 for(j=i+1;jN;j++) { if(strcmp(c[i],c[j])==0) {flag=1;break;} } if(flag==1)//如果码本身有重复,就可以断定它不是唯一可译码 { printf(这不是唯一可译码。\n); } else { for(i=0;iN-1;i++) //此处是根据原始编码生成的尾随后缀集合s[1]放 入f中 { for(j=i+1;jN;j++) { patterson(c[i],c[j]); } } for(i=0;;i++) //根据原始码与s[i

文档评论(0)

1亿VIP精品文档

相关文档