下载此文档

信息论实验报告.docx


文档分类:高等教育 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
《信息论基础教程》报告
实验名称  信息论基础教程上机作业
学院计通学院
专业班级     计算机1003   
姓   名   翟文洁     
学   号   41050270   
  
2012年11月
实验一唯一可译码判别准则
实验目的
进一步熟悉唯一可译码判决准则;
掌握C语言字符串处理程序的设计和调试技术。
实验要求
已知:信源符号个数q、码字集合C。
输入:任意的一个码。码字个数和每个具体的码字在运行时从键盘输入。
输出:判决(是唯一可译码/不是唯一可译码)。
实验原理
算法:
考察C中所有的码字,若Wi是Wj的前缀,则将相应的后缀作为一个尾随后缀码放在集合F0中;
考察C和Fi两个集合,若Wi∈C是Wj∈Fi的前缀或Wi∈Fi是Wj∈C的前缀,则将相应的后缀作为尾随后缀码放在集合Fi+1中;
F=iFi即为码C的尾随后缀集合;
若F中出现了C的元素,则算法终止,返回假(C不是唯一可译码);否则,若F中没有出现新的元素,则返回真。
实验环境
Microsoft visual c++
实验文件
程序代码:
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
using std::vector;
bool recursion(vector<string> c,vector<string> fi);
vector<string> f;
int main() {
int n;
vector<string> c,fj;
string temp;
bool out;
cout << "请输入码字个数:\t";
cin >> n;
cout << endl;
cout << "请输入具体码字:\t(用回车键结束每个码字的输入)" << endl;
for(int i = 0;i < n;i++) {
cin >> temp;
(temp);
(temp);
}
cout << endl;
out = recursion(c,fj);
if(out == false) {
cout << "该码字集合不是唯一可译码!" << endl;
} else {
cout << "该码字集合是唯一可译码!" << endl;
}
return 0;
}
bool recursion(vector<string> c,vector<string> fi) {
string s,s1,s2;
int min;
vector<string> fj;
vector<string>::iterator iter_c,iter_fi,iter_find,iter_fj;
for(iter_c = ();iter_c!=();iter_c++)
{for(ite

信息论实验报告 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人1542605778
  • 文件大小119 KB
  • 时间2021-10-30