登录
首页 » 算法 » LZW压缩算法c++实现

LZW压缩算法c++实现

于 2022-03-11 发布 文件大小:24.81 kB
0 289
下载积分: 2 下载次数: 1

代码说明:

应用背景本程序是一个使用C++实现的压缩算法,LZW算法,LZW压缩算法是Lempel-Ziv-Welch 3个人共同发明的,简称 LZW 的压缩算法,可以用任何一种语言来实现它. LZW是GIF图片文件的压缩算法,而且zip压缩的思想也是基于LZW实现的,所以LZW对文本文件具有很好的压缩性能。 LZW压缩算法的基本原理:提取原始文本文件数据中的不同字符,基于这些字符创建一个编码表,然后用编码表中的字符的索引来替代原始文本文件数据中的相应字符,减少原始数据大小。看起来和调色板图象的实现原理差不多,但是应该注意到的是,我们这里的编码表不是事先创建好的,而是根据原始文件数据动态创建的,解码时还要从已编码的数据中还原出原来的编码表. 关键技术编码表中每一项的大小一般为12位,用来代表一个字符串。这样编码表有2**12=4096项,编码值是0~4095。通常情况下0~255是固定的,用 来代表单个字符0~255。而值256通常用来表示开始新的编码表,因为如果编码表的4096项都用完了,而待压缩文件还没有处理完,那么就需要生成新的 编码表继续压缩;257表示压缩结束,用来写到压缩文件尾。从258开始,每个值都代表一个字符串(至少2个字符)。 举个例子,有下面的字符串:ababcdefgefg。(a的ascii码是0x61=97) 压缩后的数据是:97 98 258 99 100 101 102 103 263 103。 请点击左侧文件开始预览 !预览只提供20%的代码片段,完整代码需下载后查看 加载中 侵权举报

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • SOM 神经网络聚类可以在 Weka 嵌入
    SelfOrganizingMap 或 SOM 神经网络算法对聚类的数据集,可以在 Weka 程序中嵌入
    2022-02-02 16:06:02下载
    积分:1
  • 该代码是“常用的计算机数值算法和程序的程序。
    本代码是《计算机常用数值计算算法与程序 C++版》一书的配套插值代码,这些C++程序已经在Virsual C++ 6.0环境下通过。注意,在VC++ 6.0中设置好路径,特别是include目录(文件夹)的路径,否则在编译时会出现找不到头文件的错误,使编译无法正常进行。-the code is "commonly used computer numerical algorithms and procedures C version," a book supporting interpolation code, these procedures have been in C C 6.0 Virsual environment through. The attention of the VC 6.0 installed path, in particular include directory (folder) path, otherwise there will be compiled header files could not find the mistakes and the compiler not normal.
    2022-02-20 20:20:19下载
    积分:1
  • rand.rar随机数发生器的C++代码
    rand.rar 随机数生成C++代码-rand.rar random number generator C++ code
    2022-08-18 16:40:35下载
    积分:1
  • 将用RGB表示的颜色值转换为长整型表示的颜色值
    将用RGB表示的颜色值转换为长整型表示的颜色值-Transform color value expressed by RGB to color value expressed by long integer
    2022-05-25 04:55:59下载
    积分:1
  • 二维稳态无源热传导方程的迭代求解
    通过使用Fortran语言FTCS离散格式计算二维非稳态无源热传导方程在方形域里的稳态解,输出为data文件,可用tecplot等后处理工具进行图形化。对于CFD的初学者有一定的帮助作用
    2023-01-11 08:40:04下载
    积分:1
  • Fortran 90
    Fortran 90
    2022-02-03 19:34:59下载
    积分:1
  • 步进电机加减速算法
    舞台灯用步进电机加减速算法:用A3992控制芯片控制步进电机加减速,A3992用的是串行数据控制方式,一个单片机可控制多个电机。用的是16细分算法。。。。
    2022-07-22 06:59:21下载
    积分:1
  • 无线传感器网络分簇路由
    基于无线传感器网络分簇路由算法LEACH的一些改进代码,相比LEACH算法而言,新算法在延长网络的生命周期,减少网络节点能耗问题上都有一定的改善,比较适合初学者学习。
    2022-03-14 15:35:07下载
    积分:1
  • 数字序列的编辑器
    你现在要实现一个针对于数字序列的编辑器。 初始的时候,序列是空的。 在之后,有以下五种操作: I x 在光标之后插入x D 删除光标之前的数字 L 将光标向左移动,如果已经在最左,则不移动 R 将光标向右移动,如果已经在最右,则不移动 Q k 假设光标之前的序列是{a1, a2,...,an}, 定义Si=a1+a2+...+ai,此时输出满足1
    2023-08-28 10:40:03下载
    积分:1
  • 1. 实现原理: * 任何一个数都可以表示成指数形式,如下所示: * * N=nEe (0=<n的绝对值<=1,e为10的指数幂) * * 例如10...
    1. 实现原理: * 任何一个数都可以表示成指数形式,如下所示: * * N=nEe (0=
    2022-05-09 05:35:56下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载