首页 清晰的唯一可译码判决准则

清晰的唯一可译码判决准则

举报
开通vip

清晰的唯一可译码判决准则唯一可译码判决准则已知:心愿符号个数r、码字集合C算法:1、考查C中所有的码字,若是的前缀,则将相应的后缀作为一个尾随后缀码放入集合中;3、即为码C的尾随后缀集合;4、若F中出现了C中的元素,则算法终止,返回假(C不是唯一可译码);否则若F中没有出现新的元素,则返回真。要求:使用的编程:C++;输入:任意的一个码,码字个数和每个具体的码字在运行时从键盘输入。输出:判决(是唯一可译码/不是唯一可译码)。源程序格式整齐清晰,注释简单明了。创建C++工程和源文件:代码如下:#include#include#include...

清晰的唯一可译码判决准则
唯一可译码判决准则已知:心愿符号个数r、码字集合C算法:1、考查C中所有的码字,若是的前缀,则将相应的后缀作为一个尾随后缀码放入集合中;3、即为码C的尾随后缀集合;4、若F中出现了C中的元素,则算法终止,返回假(C不是唯一可译码);否则若F中没有出现新的元素,则返回真。要求:使用的编程:C++;输入:任意的一个码,码字个数和每个具体的码字在运行时从键盘输入。输出:判决(是唯一可译码/不是唯一可译码)。源程序格式整齐清晰,注释简单明了。创建C++工程和源文件:代码如下:#include#include#includeusingnamespacestd;structstrings{char*string;structstrings*next;};structstringsm_str,*m_h,*m_P;inlineintmin(inta,intb){returna>b?b:a;}inlineintmax(inta,intb){returna>b?a:b;}#definelength_a(strlen(CP))#definelength_b(strlen(tempPtr))//判断一个码是否在一个码集合中,在则返回0,不在返回1intComparing(strings*st_string,char*code){while(st_string->next){st_string=st_string->next;if(!strcmp(st_string->string,code))return0;}return1;}//判断两个码字是否一个是另一个的前缀,如果是,则生成后缀码voidHZ(char*CP,char*tempPtr){if(!strcmp(CP,tempPtr)){cout<<"判断结果:这个不是唯一可译码!"<next=NULL;cp_temp->string=newchar[abs(length_a-length_b)+1];char*longstr;longstr=(length_a>length_b?CP:tempPtr);//将长度长的码赋给longstr//取出后缀for(intk=min(length_a,length_b);kstring[k-min(length_a,length_b)]=longstr[k];cp_temp->string[abs(length_a-length_b)]=NULL;//判断新生成的后缀码是否已在集合F里,不在则加入F集合if(Comparing(m_h,cp_temp->string)){m_P->next=cp_temp;m_P=m_P->next;}}}//主函数如下:voidmain(){//提示cout<<"唯一可译码的判别!"<>a;if(cin.fail()||a<1){cout<<"输入错误!请重新编译!"<>tempstr;CP->next=new(structstrings);CP=CP->next;CP->string=newchar[strlen(tempstr)];strcpy(CP->string,tempstr);CP->next=NULL;}CP=Ch;while(CP->next->next){CP=CP->next;tempPtr=CP;do{tempPtr=tempPtr->next;HZ(CP->string,tempPtr->string);}while(tempPtr->next);}structstrings*Fbegin,*Fend;Fend=m_h;while(1){if(Fend==m_P){cout<<"判断结果:这个是唯一可译码!"<next){CP=CP->next;tempPtr=Fbegin;for(;;){tempPtr=tempPtr->next;HZ(CP->string,tempPtr->string);if(tempPtr==Fend)break;}}}}执行程序结果如下:第一种情况:输入:0显示:输入错误!请重新编译!如图:第二种情况:输入:4然后输入4个码字:000,10,00,11显示:这个不是唯一可译码!如图:第三种情况:输入:4然后输入4个码字:100,101,0,11显示:这个是唯一可译码!如图:
本文档为【清晰的唯一可译码判决准则】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_179289
暂无简介~
格式:doc
大小:87KB
软件:Word
页数:0
分类:企业经营
上传时间:2020-05-18
浏览量:8