唯一可译码尾随后缀判断
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
return 0;
}
程序验证举例1唯一可译码c0101100111010111101程序运行结果如下图所示2非唯一可译码c110111000010运行结果如下图所示四
肖志勇2011522127
唯一可译码尾随后缀判断
一.唯一可译码尾随后缀判别法的编程流程图
二.编程要求
已知:信源符号个数q,码字集合C;
输入:任意码字个数C与每个具体的码字在程序具体运行时从键盘输入;
Fp=construct_fset(Cp,Fp);//如果可以构造继续构造集合F
else
result_output(true);//输出判决结果,是唯一可译码,并结束程序
}
}
}
else
{
result_output(true);//是唯一可译码,输出结果结束程序
}
}
else
{
result_output(false);//不是唯一可译码,输出结果并且结束程序。
输出:判别结果(是否唯一可译码)
三.程序验证举例
(1)唯一可译码
C={0,10,1100,1110,1011,1101}
程序运行结果如下图所示
(2)非唯一可译码
C={110,11,100,00,10}
运行结果如下+
运行坏境:Microsoft Visual C++ 6.0(SP6)英文版
{
Fp=init_fset(Cp);//构造第一个初始集合F
for(;;)
{
if(fitem_is_setc(Cp,Fp))//判断F中是否有元素为C中码字
{
result_output(false);//输出结果,不是唯一可译码
}
else
{
if(fc_can_construt(Cp,Fp)&&!is_repeated)//判断C和F是否能够继续构造F集合
运行时方法:打开*.dsw文件,点击链接(build),然后运行。
五.程序源代码
/*////////////////////////////////////////
****唯一可译码尾随后缀判别法测试程序*******
*姓名:肖志勇学号:2011522127*
//////////////////////////////////////*/
#include"weiyikeyima.h"
int main()
{
int Cnt;
cout<<"请输入码字的个数:"<<endl;
cin>>Cnt;
Cp=input(Cp,Cnt);//读取用户输入构造码字集合C
if(!is_singal_code(Cp))//如果是奇异码则一定不是唯一可译码
{
if(fc_can_construt(Cp,Cp))//如果可以构成F集合
return 0;
}
程序验证举例1唯一可译码c0101100111010111101程序运行结果如下图所示2非唯一可译码c110111000010运行结果如下图所示四
肖志勇2011522127
唯一可译码尾随后缀判断
一.唯一可译码尾随后缀判别法的编程流程图
二.编程要求
已知:信源符号个数q,码字集合C;
输入:任意码字个数C与每个具体的码字在程序具体运行时从键盘输入;
Fp=construct_fset(Cp,Fp);//如果可以构造继续构造集合F
else
result_output(true);//输出判决结果,是唯一可译码,并结束程序
}
}
}
else
{
result_output(true);//是唯一可译码,输出结果结束程序
}
}
else
{
result_output(false);//不是唯一可译码,输出结果并且结束程序。
输出:判别结果(是否唯一可译码)
三.程序验证举例
(1)唯一可译码
C={0,10,1100,1110,1011,1101}
程序运行结果如下图所示
(2)非唯一可译码
C={110,11,100,00,10}
运行结果如下+
运行坏境:Microsoft Visual C++ 6.0(SP6)英文版
{
Fp=init_fset(Cp);//构造第一个初始集合F
for(;;)
{
if(fitem_is_setc(Cp,Fp))//判断F中是否有元素为C中码字
{
result_output(false);//输出结果,不是唯一可译码
}
else
{
if(fc_can_construt(Cp,Fp)&&!is_repeated)//判断C和F是否能够继续构造F集合
运行时方法:打开*.dsw文件,点击链接(build),然后运行。
五.程序源代码
/*////////////////////////////////////////
****唯一可译码尾随后缀判别法测试程序*******
*姓名:肖志勇学号:2011522127*
//////////////////////////////////////*/
#include"weiyikeyima.h"
int main()
{
int Cnt;
cout<<"请输入码字的个数:"<<endl;
cin>>Cnt;
Cp=input(Cp,Cnt);//读取用户输入构造码字集合C
if(!is_singal_code(Cp))//如果是奇异码则一定不是唯一可译码
{
if(fc_can_construt(Cp,Cp))//如果可以构成F集合