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

LZW压缩算法c++实现

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

  • 这是浙大acm,北大acm上,还有地大acm上的题解,全部是关于搜索的,题目文件名上有...
    这是浙大acm,北大acm上,还有地大acm上的题解,全部是关于搜索算法的,题目文件名上有-This is Zheda acm, North acm, there can still be a great solution acm on the title, all is about the search algorithm, the file name on the subject have
    2023-07-14 18:05:03下载
    积分:1
  • CRF 工具包及使用教程
    CRF的工具包,实现原理,及样例。CRF(Conditional Random Field) 条件随机场是近几年自然语言处理领域常用的算法之一,常用于句法分析、命名实体识别、词性标注等。在我看来,CRF就像一个反向的隐马尔可夫模型(HMM),两者都是用了马尔科夫链作为隐含变量的概率转移模型,只不过HMM使用隐含变量生成可观测状态,其生成概率有标注集统计得到,是一个生成模型;而CRF反过来通过可观测状态判别隐含变量,其概率亦通过标注集统计得来,是一个判别模型。由于两者模型主干相同,其能够应用的领域往往是重叠的,但在命名实体、句法分析等领域CRF更胜一筹。当然你并不必须学习HMM才能读懂CRF,但通常来说如果做自然语言处理,这两个模型应该都有了解。
    2022-08-12 08:38:50下载
    积分:1
  • 指纹识别源码
    基于Gabor的指纹识别系统,有源码,有Demo,指纹图像预处理,Gabor增强,二值化,细化,特征点提取,模板保存与匹配。
    2022-06-15 23:09:49下载
    积分:1
  • 数学计斜率的一个简易软件,通过它可以计斜率,还可以计偏离量,以及XY。...
    数学计算斜率的一个简易软件,通过它可以计算斜率,还可以计算偏离量,以及XY。-The slope of a simple mathematical calculation software, through which can calculate the slope, but also can calculate the deviation, as well as XY.
    2023-08-18 16:50:04下载
    积分:1
  • 贝叶斯分类器
    基于朴素贝叶斯算法的文本分类器,使用java语言编写。可以使用搜狗的文本库作为样本数据库。整个代码的结构层次感很强,结构清晰,对于学习贝叶斯分类器的学习者有较大的帮助,尤其可在短时间内快速的上手,并获得仿真结果。。
    2022-06-01 20:31:50下载
    积分:1
  • 可以序列化的矩阵操作类。实现了众多矩阵的操作运
    可以序列化的矩阵操作类。实现了众多矩阵的操作运算算子-A Matrix manipulation class with serialization and operator overloading implemented
    2022-05-20 23:57:48下载
    积分:1
  • LABVIEW中的SPWM
    这是在 labview 的 spwm 3 阶段。 学生只有一个示例去想怎么能做一种三相逆变器使用 labview 和 DAQ。
    2022-03-03 13:44:15下载
    积分:1
  • Eular解分数阶微分方程,分数阶导数定义系数通过fourier,阶数a变化...
    Eular法解分数阶微分方程,分数阶导数定义系数通过fourier法计算,阶数a变化-eular method of fractional differential equations, fractional derivative coefficient defined by fourier law, order a change
    2022-01-22 04:00:39下载
    积分:1
  • 凸包C++实现
    此算法为凸包算法。即在一系列的点中找到他们之间的凸包节点,即能够包围所有节点的边缘节点。主要调用函数为convexHull函数,输入为点的坐标。
    2023-08-12 23:05:03下载
    积分:1
  • 魔幻方块!输入魔方的阶数n(n为奇数)后,使得魔方的行、列和对角线的值都相等...
    魔幻方块!输入魔方的阶数n(n为奇数)后,使得魔方的行、列和对角线的值都相等-magic squares! Cube importation of order n (n is odd), the Cube makes rows and columns and diagonal values are equal
    2022-02-01 14:26:18下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载