Compression 一种压缩算法的完整描述

Compression 一种压缩算法的完整描述,compression,Compression,我正在寻找一个压缩算法(用于编程竞赛),我需要一个关于如何实现它的完整描述(所有技术细节),任何无损失和无专利的算法都可以,但实现的简单性是一个额外的好处:) (虽然可能无关),我计划在C++中实现算法…< /P> 提前谢谢 编辑: 我将只压缩文本文件,没有其他文件类型…我将从维基百科开始 有很多选择,但是如果你不知道你想要什么,就很难提供更多的帮助。您是压缩文本、图像、视频还是只是压缩随机文件?每个人都有自己的一套技术和挑战,以获得最佳结果 如果易于实现是唯一的标准,我会使用“filecopy

我正在寻找一个压缩算法(用于编程竞赛),我需要一个关于如何实现它的完整描述(所有技术细节),任何无损失和无专利的算法都可以,但实现的简单性是一个额外的好处:)

(虽然可能无关),我计划在C++中实现算法…< /P> 提前谢谢

编辑: 我将只压缩文本文件,没有其他文件类型…

我将从维基百科开始

有很多选择,但是如果你不知道你想要什么,就很难提供更多的帮助。您是压缩文本、图像、视频还是只是压缩随机文件?每个人都有自己的一套技术和挑战,以获得最佳结果


如果易于实现是唯一的标准,我会使用“filecopy”压缩。保证压缩比精确为1:1,并且实现简单…

如果您压缩纯文本,这很好。下面所有的评论都向我保证,实现
是一种乐趣;D

好吧,我甚至不能为你完成比赛,但请在wiki上查看这篇文章:。这是迄今为止压缩数据最简单的方法之一,尽管并不总是一种有效的方法。压缩也是特定于域的,即使在无损算法中,您也会发现压缩的内容决定了如何最好地对其进行编码。

描述了充气/放气,包括对压缩机算法的简要描述。安太斯长石提供了更多的背景

此外,zlib震源分布在contrib/puff/puff.c中包含一个简化的参考充气器,这有助于准确理解位的排列方式(但它不包含放气,只包含充气)。

如果您在internet浏览器中的“视图”下,应该有一个“缩小”选项或者使文本变小

选择其中一个,然后

BAM


你只是在同一屏幕上看到了更多的文字!哎呀,压缩

最近,该杂志推出了一集,重点介绍了数据压缩算法。SteveGibson很好地解释了Huffman和Lempel-Ziv压缩技术的基本原理。如前所述,您可以收听音频播客或阅读。

易实施性:哈夫曼。我相信LZW已经没有专利了,但我不确定。这是一个相对简单的算法。但LZ77应该是可用的。最后,Burrows-Wheeler变换允许压缩,但实现起来要困难得多。

我喜欢这篇介绍。

我在问这个问题之前搜索了谷歌,我找到了Feldspar的解释,但它缺少了解如何实现DEFLAT所需的“技术细节”,但是第一个链接似乎正是我想要的,谢谢我已经实现了它,我实际上认为它非常干净,而且一旦你理解了算法,它就不那么难了。与deflate、任何类型的算术编码或Burrows-Wheeler变换相比,它非常容易。唯一简单的是运行长度编码,这对文本来说很糟糕。一个直接的LZ77(仅限回溯,4位超长3位和12位回溯)比哈夫曼更容易,解码速度更快。然而,用一种幼稚的方法编码是缓慢的。同意!例如,压缩纯文本和一点机器语言之间有着巨大的区别。我喜欢这一点。人们应该在否决投票前想一想。