- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.5.3 LZW解压缩算法 将单一字母编码加入字典 顺序检查压缩文件,对每个编码p,对两种不同情况进行处理 情况1:p在字典中 q——p之前的编码 压缩时,输出q之后,必为sx分配了一个新编码? 将(新编码,sx)插入字典 对应压缩过程中添加新编码的操作,在s?q之后进行 而解压缩时,q?s之后,尚不知xt,只能推后进行 文本:…text(q) text(p)… s x t 编码:… q p… 情况2:p不在字典中 在压缩时,必然文本s压缩为q,并与随后的字符x产生新编码p,对应文本t=sx 关键:紧随s之后的文本即为t(与p对应)!否则,如果p是之前的某个u压缩后生成的,则解压完u后,必然已经将p加入字典了 t在s之后?t = sx = xs’x?x=fc(s)?p解压缩的结果应为:text(q)fc(q),将(新编码,text(q)fc(q))加入字典 文本: u … text(q) text(p)… xs’ xs’x xs’=s 编码: r … q p… 解压缩例 输入:0214537 初始,为每个字母编码:a—0,b—1 0:输出a 2:不在字典中,输出text(0)fc(0)=aa,(2, aa)?字典 1:输出b,(3, text(2)fc(1))=(3, aab)?字典 解压缩例 4:不在字典中,输出text(1)fc(1)=bb,(4, bb)?字典 5:不在字典,输出text(4)fc(4)=bbb,(5, bbb)?字典 3:输出aab,(6, text(5)fc(3))=(6, bbba)?字典 7:不在字典,输出text(3)fc(3)=aaba 结果:aaabbbbbbaabaaba 7.5.4 解压缩的实现 创建文件流 void SetFiles(int argc, char* argv[]) {// Determine file name. char OutputFile[50], InputFile[50]; // see if file name provided if (argc == 2) strcpy(OutputFile,argv[1]); else {// name not provided, ask for it cout Enter name of file to decompress endl; cout Omit the extension .zzz endl; cin OutputFile;} // name should not have an extension if (strchr(OutputFile,.)) {cerr File name has extension endl; exit(1);} 创建文件流(续) strcpy(InputFile, OutputFile); strcat(InputFile, .zzz); // open files in binary mode in.open(InputFile,ios::binary); // in.open(InputFile); for g++ if (in.fail()) {cerr Cannot open InputFile endl; exit(1);} out.open(OutputFile,ios::binary); // out.open(OutputFile); for g++ } 输出函数 void Output(int code) {// Output string corresponding to code. size = -1; while (code = alpha) {// suffix in dictionary s[++size] = ht[code].suffix; code = ht[code].prefix; } s[++size] = code; // code alpha // decompressed string is s[size] ... s[0] for (int i =
您可能关注的文档
最近下载
- 部编版小学语文六年级上册第四单元教材分析集体备课单元主讲稿(新版).pptx
- 中国农业发展银行贷款业务知识及经济原理测试试卷.docx
- 新人教版八年级上册《全等三角形》单元测试卷.doc VIP
- (完整)16J607建筑节能门窗.pptx VIP
- 广告设计师——国家职业标准(2024年版).pdf VIP
- 医学专业英语教学设计.pptx VIP
- Q/GDW+13053.53—2018++35-750并联电容器成套采购标准(第53部分:110(66)kV变电站10kV-3000kvar-5%电抗率集合式并联电容器成套装置专用技术规范).pdf VIP
- 12 《谏太宗十思疏》(原卷版)-基于“教考衔接”“学习任务”的高中语文教材文言文通关训练(全国通用).docx
- 工程造价咨询机构服务采购项目工程预算结决算审核服务方案咨询方案工作方案.pdf VIP
- 2025《特斯拉汽车营销现状分析及其策略研究》7100字.doc
文档评论(0)