- 实验目的
熟悉唯一可译码判决准则;
掌握C语言字符串处理程序的设计和调试技术; 实验要求
已知:信源符号个数r、码字集合C。
输入:任意的一个码。码字个数和每个具体的码字在运行时从键盘输入
输出:判决(是唯一可译码/不是唯一可译码)。原理介绍
- 考察C 中所有的码字,若Wi是 Wj的前缀,则将对应的后缀作为一个尾随后缀码放入集合Fi+1中;
- 考察C和Fi俩个集合,若Wi ∈C是 Wj∈F的前缀或Wi ∈F是 Wj∈C的前缀,则将相应的后缀作为尾随后缀码放入集合Fi+1中;
- F=∪Fi即为码C的尾随后缀集合;
- 若F中出现了C中的元素,算法终止,返回假(C不是唯一可译码);否则若F中没有出现新的元素,则返回真。
编码实现
输入码字集合X0 for 所有Wi,Wj∈X0 if 码字Wi 是码字Wj 的前缀, 即将相应的后缀作为一个尾随后缀放入新集合X1 end if end for for 所有Wi∈X0 for 所有Wj∈ Xn-1 if Wi 是Wj 的前缀, 即将相应的后缀作为一个尾随后缀放入新集合Xn中 else if Wj是Wi的前缀, 即将相应的后缀作为一个尾随后缀放入新集合Xn中 end if end
唯一可译码判决准则
最新推荐文章于 2023-12-20 15:14:34 发布