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

LZW压缩算法c++实现

于 2022-03-11 发布 文件大小:24.81 kB
0 236
下载积分: 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 个回复

  • BASE64编码解码
    BASE64是将2进制数据转换为字符串的常用编码方式,在。NET中有现成的类可以使用,但是C++就得自己按照算法实现了。现将C++的实现共享。包含单元测试代码。
    2022-02-10 03:45:20下载
    积分:1
  • 多小波matlab程序包
    多小波matlab程序包-Multiwavelet Matlab package
    2023-06-14 16:30:05下载
    积分:1
  • 《科学工程计C语言》一书代码。C语言编写。均写成函数形式,可以直接调用。包括数值微分、数值积分、插值、方程求解等数值。...
    《科学工程计算C语言算法》一书代码。C语言编写。均写成函数形式,可以直接调用。包括数值微分、数值积分、插值、方程求解等数值算法。-"scientific engineering calculation algorithm C language," a code book. C language. Functions were written form can be called directly. Including numerical differentiation, numerical integration, interpolation, equation solving numerical algorithms.
    2023-04-20 15:05:03下载
    积分:1
  • 堆排序
    heapsort用于按升序和降序排列元素。我们有两种类型的堆:最小堆还有马克斯·希普。Heapsort是一种基于比较的排序算法。它是选择排序族的一部分。堆排序使用几乎完全的二进制搜索树。树堆排序算法的时间复杂度为o(nlogn)
    2022-04-08 08:19:18下载
    积分:1
  • 对任意给定的二叉树(顶点数自定)建立它的二叉链表存贮结构,并利用栈的五种基本运(置空栈、进栈、出栈、取栈顶元素、判栈空)实现二叉树的先序、中序、后序三种周游,
    对任意给定的二叉树(顶点数自定)建立它的二叉链表存贮结构,并利用栈的五种基本运算(置空栈、进栈、出栈、取栈顶元素、判栈空)实现二叉树的先序、中序、后序三种周游,输出三种周游的结果。- To wilfully assigns two forks the tree (to go against points from to decide) establishes it two to fork the chain table storage structure, and (sets at spatial stack after the stack five kind of fundamental operations, enters stack, sends out of the warehouse, takes stack top element, sentences stack to be spatial) realizes two forks the tree first the foreword, center the foreword, the foreword three kinds travels around, outputs the result which three kinds travels around.
    2022-01-26 18:45:01下载
    积分:1
  • C语言实现角点检测
    用C语言实现的角点检测算法,里面是一个word文档,详细描述了角点检测的实现过程,有很强的参考价值:  第一步:利用差分算子对图像进行滤波 第一步:利用差分算子对图像进行滤波 第二步:对Ix2/Iy2/Ixy进行高斯平滑,以去除噪声 第三步:计算角点量 第四步:进行局部非极大值抑制以获得最终角点
    2022-10-07 03:40:03下载
    积分:1
  • 2 X 2 广场矩阵的行列式
    2 X 2 广场矩阵的行列式 在矩阵中的另一个共同特点是其行列式计算。看看它是什么,以及它如何被做在这里。
    2022-07-06 13:57:53下载
    积分:1
  • c# kalman 滤波
    c#  实现的Kalman滤波算法能够很好地得到、观测和测量模型数据,你值得拥有。欢迎大家下载、试用。谢谢大家的支持!
    2022-06-03 11:59:22下载
    积分:1
  • 非线形方程组类:包括各种非线性方程组的各种求解方,非常方便调用...
    非线形方程组类:包括各种非线性方程组的各种求解方法,非常方便调用-Non-linear equations categories: including a variety of nonlinear equations to solve a variety of methods, very convenient to call
    2022-01-24 15:03:59下载
    积分:1
  • 简单计器(带密码“111111”) 进行简单的数字计 包括“+” “...
    简单计算器(带密码“111111”) 进行简单的数字计算 包括“+” “-” “*” “/” “乘方” -simple calculator (with the password "111 ") Simple arithmetic including "" "-" "*", "/", "involution"
    2023-02-20 16:40:03下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载