C语言数据结构+代码(3)

2019-08-31 09:05

}

else {

[...] = translation for [old]; k = first character of [...];

Output [...]k to CharStream; add [...]k to the StringTable; [old] = [code]; }

[code] }

= Next Code in the CodeStream;

四、测试与分析

4.1

1. 在压缩时没有错误,但解压时总会有一个字符没有解压正确,也不知原因,最后改用VC++就没事了,但改成用VC++后读文件就有问题了,读文件时会提示文件读写错误,最后没有用到scanf函数输入文件名。

2. 在解压时怎么样才能知道当前的字符串是已经遇见过的?如果是遇见过的,它的标号是多少呢?显而易见,必须把已经遇见过并且标了好的字符串以某种方式储存起来,每次读入一个新的字符,就要去查找储存起来的数据。

五、测试结果:

1、 主界面:

2、解压界面:

压缩界面:

六、用户使用手册

1、程序的运行环境是XP SP3系统,内存2GB。

2、编译环境是VC++6.0,通过创建工程后编译、连接即可运行

3、程序运行中的操作是通过提示菜单的方式运行,输入相应的操作数即可进行相应目录进行操作

4、登录后可以按相关提示进行文件的压缩与解压。

七、总结与体会

1. 通过这次的课程设计,我对程序的模块化设计有更深一层的识认,

原始数据中,只包括4个字符(Character),A,B,C,D,四个字符可以用一个2bit的数表示,0-A,1-B,2-C,3-D,从最直观的角度看,原始字符串存在重复字符:ABCCAABCDDAACCDB,用4代表AB,5代表CC,上面的字符串可以替代表示为:45A4CDDAA5DB,这样是不是就比原数据短了一些呢!

它采用了一种先进的串表压缩不,将每个第一次出现的串放在一个串表中,用一个数字来表示串,压缩文件只存贮数字,则不存贮串,从而使图象文件的压缩效率得到较大的提高。奇妙的是,不管是在压缩还是在解压缩的过程中都能正确的建立这个串表,压缩或解压缩完成后,这个串表又被丢弃。

LZW码能有效利用字符出现频率冗余度进行压缩,且字典是自适应生成的,但通常不能有效地利用位置冗余度。除了用于图像数据处理以外,LZW压缩技术还被用于文本程序等数据压缩领域。对于数据流中连续重复出现的字节和字串,LZW压缩技术具有很高的压缩比。对于任意宽度和像素位长度的图像,都具有稳定的压缩过程。压缩和解压缩速度较快。

八、参考文献

《数据结构(C语言版)》电子工业出版社 肖宏启 清华大学,数据结构(C语言版) 黄国瑜、叶乃菁编著


C语言数据结构+代码(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:临水作业安全专项方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: