-
LZW压缩算法c++实现
应用背景本程序是一个使用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%的代码片段,完整代码需下载后查看 加载中 侵权举报
- 2022-03-11 09:38:15下载
- 积分:1
-
蚁群算法解决TSP旅游商问题
function [R_best,L_best,L_ave,Shortest_Route,Shortest_Length]=ACATSP(C,NC_max,m,Alpha,Beta,Rho,Q)%%-------------------------------------------------------------------------%% 主要符号说明%% C n个城市的坐标,n×2的矩阵%% NC_max 最大迭代次数%% m 蚂蚁个数%% Alpha 表征信息素重要程度的参数%% Beta 表征启发式因子重要程度的参数%% Rho 信息素蒸发系数%% Q 信息素增加强度系数%% R_best 各代最佳路线%% L_best 各代最佳路线的长度%%========================================================================= %%第一步:变量初始化n=size(C,1);%n表示问题的规模(城市个数)D=zeros(n,n);%D表示完全图的赋权邻接矩阵for i=1:nfor j=1:nif i~=jD(i,j)=((C(i,1)-C(j,1))^2+(C(i,2)-C(j,2))^2)^0.5;elseD(i,j)=eps; %i=j时不计算,应该为0,但后面的启发因子要取倒数,用eps(浮点相对精度)表示endD(j,i)=D(i,j); %对称矩阵endend%{1.C就是城市坐标 x y城市1 0
- 2022-08-25 13:59:52下载
- 积分:1
-
3, 0
3,算法设计0-1背包,要求用整形-3, 0-1 knapsack algorithm design and required plastic surgery
- 2022-10-28 04:05:06下载
- 积分:1
-
经典谱估计
本源代码实现了经典谱估计,可以进行周期图估计,BT谱估计,平均周期图估计
- 2022-04-01 03:23:15下载
- 积分:1
-
in visual basic environment, achieving k
在visual basic环境下,实现k-nearest neighbor算法。-in visual basic environment, achieving k-nearest neighbor algorithm.
- 2023-08-05 05:30:03下载
- 积分:1
-
数值分析第八版,由负担和菲尔斯(Mathematica)
Numerical Anaysis 8th Edition, by Burden and Faires (Mathematica Source)
- 2023-01-20 10:05:04下载
- 积分:1
-
用c语言实现的b树
用c语言实现的b树-use the C Language b tree
- 2023-01-05 13:10:04下载
- 积分:1
-
灰色关联分析及Matlab程序实现
灰色关联分析法的基本思想是根据各比较数列集构成的曲线族与参考数列构成的曲线之间的几何相似程度来确定比较数列集与参考数列之间的关联度,比较数列构成的曲线与参考数列构成的曲线的儿何形状越相似,其关联度越大。程序能够运行出正确的结果,希望对各位有帮助。
- 2022-05-25 08:56:53下载
- 积分:1
-
逻辑运算类:支持与或非逻辑运算,支持括弧 ( ) 改变运算先后。...
逻辑运算类:支持与或非逻辑运算,支持括弧 ( ) 改变运算先后。-Logic operations categories: support and non-logical operations, support brackets () to change the computing successively.
- 2022-01-31 13:27:58下载
- 积分:1
-
DBSCAN聚类算法
实现DBSCAN聚类算法采用C# 数据挖掘中聚类算法,基于密度聚类的代表算法,dbscan。程序并不太难,方便大家学习。有三个文件,簇聚类的类datapoint-点的类clusteranalysis-以及聚类分析类
- 2022-05-28 14:26:17下载
- 积分:1