实验1 :唯一可译码的判定 学生姓名: 学 号: 一、实验室名称:信息论基础课程组 二、实验项目名称:唯一可译码的判定 三、实验原理: 给定一个已知的码C,利用 A . A .Sardinass 和 G .W .Patterson 于 1957 年提出的算法判定码C 是否为唯一可译码。 四、实验目的: (1)进一步熟悉唯一可译码判决准则; (2)掌握 C语言字符串处理程序的设计和调试技术。 五、实验内容: 给定一个已知的码C,判定码C 是否为唯一可译码。 六、实验器材(设备、元器件): PC 机一台,装有 VC++6.0 或其它 C 语言集成开发环境。 七、实验步骤及操作: 1.考查码C 中所有的码子,若iW 是jW 的前缀,则将相应的后缀作为一个尾随后缀码放入集合1F 中; 2.考查 C 和kF 两个集合,若CWi 是kjFW 的前缀或kiFW 是CWj 的前缀,则将相应的后缀作为尾随码放入集合1kF中; 3.kkFF 即为码C 的尾随集合; 4.若 F 中出现了 C 中的元素,则算法终止,返回假(C 不是唯一可译码),否则若 F 中没有出现新的元素,则返回真。 八、实验数据及结果分析: 题目:教材 P103 例 5.4 的内容。 #inclu de #inclu de #inclu de #inclu de u sing namespace std; #define ISSAME 0 #define ISPREFIX 1 #define NOTPREFIX 2 #define ISUDC 0 //唯一可译码 #define ISRTC 1 //即时码 #define NOTUDC 2 //非唯一可译码 typedef vector pCharVector; /**************************************************************************/ /* 判断chPrefix 是否为chWord 的前缀.*/ /**************************************************************************/ int IsPrefix(const char* chPrefix,const char* chWord); /**************************************************************************/ /* 往后缀码集合中插入不重复的键,*/ /*************************************************************************/ bool PushBackUniqueValue(pCharVector& pCode,char* pValue); /**************************************************************************/ /* 判断码字序列的类型,非回溯法*/ /**************************************************************************/ int I...