LZW算法(Lempel-Ziv-Welch algorithm),工学-信息与通信工程-信源编码-数据压缩-〔数据压缩经典算法〕-LZW,通过建立一个字符串表,用较短的代码来表示较长的字符串的一种无损压缩算法。又称串表压缩算法。数据流、编码流和编译表是LZW算法的3个重要对象。在编码时,数据流是输入对象(文本文件的数据序列),编码流就是输出对象(经过压缩运算的编码数据);在解码时,编码流是输入对象,数据流是输出对象;而编译表则是在编码和解码时都需要借助的对象。LZW算法的基本原理是:提取原始文本文件数据中的不同字符,基于这些字符创建一个编译表,然后用编译表中的字符的索引来替代原始文本文件数据中的相应字符,减少原始数据大小。编译表不是事先创建好的,而是根据原始文件数据动态创建的,解码时还要从已编码的数据中还原出原来的编译表。LWZ算法能有效利用字符出现频率冗余度进行压缩,且字典是自适应生成的,但通常不能有效地利用位置冗余度。其特点主要包括:①对于可预测性不大的数据具有较好的处理效果,常用于标志图像文件格式的图像压缩,其平均压缩比在2∶1以上,最高压缩比可达到3∶1。