实验1:唯一可译码的判定.doc

实验1:唯一可译码的判定.doc

ID:57417601

大小:70.50 KB

页数:9页

时间:2020-08-16

实验1:唯一可译码的判定.doc_第1页
实验1:唯一可译码的判定.doc_第2页
实验1:唯一可译码的判定.doc_第3页
实验1:唯一可译码的判定.doc_第4页
实验1:唯一可译码的判定.doc_第5页
资源描述:

《实验1:唯一可译码的判定.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验1:唯一可译码的判定学生姓名:学号:一、实验室名称:信息论基础课程组二、实验项目名称:唯一可译码的判定三、实验原理:给定一个已知的码C,利用A.A.Sardinass和G.W.Patterson于1957年提出的算法判定码C是否为唯一可译码。四、实验目的:(1)进一步熟悉唯一可译码判决准则;(2)掌握C语言字符串处理程序的设计和调试技术。五、实验内容:给定一个已知的码C,判定码C是否为唯一可译码。六、实验器材(设备、元器件):PC机一台,装有VC++6.0或其它C语言集成开发环境。七、实验步骤及操作:1.考查码C中所有的码子,若是的

2、前缀,则将相应的后缀作为一个尾随后缀码放入集合中;2.考查C和两个集合,若是的前缀或是的前缀,则将相应的后缀作为尾随码放入集合中;3.即为码C的尾随集合;4.若F中出现了C中的元素,则算法终止,返回假(C不是唯一可译码),否则若F中没有出现新的元素,则返回真。八、实验数据及结果分析:题目:教材P103例5.4的内容。#include#include#include#includeusingnamespacestd;#defineISSAME0#defineISPREF

3、IX1#defineNOTPREFIX2#defineISUDC0//唯一可译码#defineISRTC1//即时码#defineNOTUDC2//非唯一可译码typedefvectorpCharVector;/**************************************************************************//*判断chPrefix是否为chWord的前缀.*//*******************************************************

4、*******************/intIsPrefix(constchar*chPrefix,constchar*chWord);/**************************************************************************//*往后缀码集合中插入不重复的键,*//*************************************************************************/boolPushBackUniqueValue(pCharVec

5、tor&pCode,char*pValue);/**************************************************************************//*判断码字序列的类型,非回溯法*//**************************************************************************/intIsUDC(constpCharVector&pCode);/********************************************

6、******************************//*回溯计算,如果不是唯一可译码则可以得到一串有歧义的码字序列(即有多种译法的/*序列),该序列用参数中的pInvalidSeqBuf返回,调用者需记得释放内存/*该方法的缺点是没有检测码字序列中是否有重复码字*//**************************************************************************/intIsUDC_Backtrace(constpCharVector&pCode,char**pInvalidS

7、eqBuf);//#defineTEST_BY_FILEintmain(){#ifdefTEST_BY_FILEfreopen("in","r",stdin);#endifpCharVectorVCode;intnCodeNum;inti;charchContinue;do{cout<<"请输入信源编码个数:";cin>>nCodeNum;cout<<"请输入依次"<>

8、strBuffer;//copy字符到动态数组中已进行比较char*pTemp=newchar[strBuffer.size()+1];memcpy(pTemp,strBuffer.c_str(),size

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

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

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