数据压缩算法

原创 2013年12月02日 16:41:59

一 引言

    随着互联网的飞快发展,整个互联网产生原来越多的数据,这个世界充满了数据,人们的生活离不开数据,然而能够有效表达数据的算法在现代的计算机基础架构中有着重要的地位。当我们在欣赏图片,听音乐,看视频,无论是用PC或移动终端浏览信息时,我们始终在和数据形影不离。

    在计算机系统中处理的数据,都有一个共同的特点,它们始终是用二进制表示的。因为大多数数据有很大的冗余,所以数据压缩算法能够节省很大的空间。虽然现在的硬盘越来越便宜,人们可以存储的数据越来越多,正是如此,数据压缩的存储可以节省更多的存储空间。目前,我们很多的数据都是通过网络传输的,数据压缩可以使传输的数据空间变小,从而在传输过程中可以节省传输数据的时间。基于保存数据信息空间的节省和传输时间的变短两个原因,还是很有必要研究数据的压缩算法的。

    数据压缩算法可以分为无损压缩算法和有损压缩算法,数据压缩的有损和无损是针对压缩后数据还原到原始数据来说的。比如,有些数据文件或程序代码经过压缩,再经过还原后,必须要保持和原来数据的一致,这种是无损的压缩;同样,允许存在数据(比如视频,图片等)还原展开后可以和原始的数据存在相似,不一定完全相同,这是有损的数据压缩。

    数据压缩的基础模型可以采用下面的图来简单的表示。

假设原始的数据用D表示,压缩之后的数据用C(D)来表示,数据压缩的基础模型可以简单的简述为:通过“压缩“组件将原始数据D压缩成数据C(D),压缩后的数据C(D)可以在适当的时机,通过还原组件还原为数据D。

    数据压缩算法的评价可以通过多种因素来评价。其中,压缩率是比较常用的参数之一,数据压缩之后的大小与原始数据的大小比值,成为压缩率,即 C(D)/ D。在综合考虑压缩算法的性能时,还可以参考压缩的时间效率,对于有损压缩,还可能要考虑到压缩的质量因素。

二 常见的压缩算法

1.哈夫曼压缩

  1.1 哈夫曼简介

哈夫曼压缩是一种能够大幅度压缩自然语言文件空间的数据压缩技术。它的主要思想是将频繁出现的字符用较少的比特表示,用较多的比特表示出现频繁率低的字符。这样可以减少文件的存储空间。

1.2 哈夫曼编码

mark,下次继续
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

BWT数据压缩算法

urrower-Wheeler变换  1994年 Michael Burrows 和 David Wheeler在《A Block-sorting Lossless Data Compression ...

LZW数据压缩算法

LZW算法常用于文本压缩中,尤其是对于重复出现的字符串的文本压缩效果不错。其主要思想是扫描文本,对每个出现的字符,检查其跟前向字符(串)是否能组成一个之前出现过的字符串,如果能那么继续向后扫描;如果不...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

数据压缩算法LZO

一、什么是LZO  LZO是致力于解压速度的一种数据压缩算法,LZO 是 Lempel-Ziv-Oberhumer 的缩写。这个算法是无损算法,参考实现程序是线程安全的。实现它的一个自由软件工具是lz...

数据压缩算法

一 引言 随着互联网的飞快发展,整个互联网产生原来越多的数据,这个世界充满了数据,人们的生活离不开数据,然而能够有效表达数据的算法在现代的计算机基础架构中有着重要的地位。当我们在欣赏图片,听音乐,看视...

基因数据压缩算法(ACTG) C++

基因数据压缩算法是一个初级的数据压缩算法,基因数据如下所示"ATAGATGCAT",如果使用标准的ASCII编码(每个字符1个字节),这个基因字符串的流长度是10*8=80位。         这些...

浅析数据压缩算法

数据压缩是减少信息传输量最经济直接的办法,所以这篇文章将讲解一些经典的数据压缩算法。 一 热身:基因组 对于生物学的基因研究中,A、C、T、G是是用来表示生物DNA的四种碱基,对基因序列的处理实际上是...
  • LZN51
  • LZN51
  • 2017-05-17 15:51
  • 412

深入解析数据压缩算法

深入解析数据压缩算法 正文        所谓数据压缩,是指在不丢失信息的前提下,缩减数据量以减少存储空间,提高传输、存储和处理效率的一种技术方法。或者是按照一定的算法对数据进行重...

通用数据压缩算法简介

通用数据压缩算法简介前言数据压缩技术始终是让我感觉到比较神秘的数学算法之一,而当我接触到其具体的算法时候,发现其原理是如此的简单,所以就写了这篇文件来谈谈自己的感想。但由于本文篇幅有限,就以只以一个最...

算法#19--霍夫曼压缩(数据压缩)

我们现在来学习一种能够大幅压缩自然语言文件空间(以及许多其他类型文件)的数据压缩技术:霍夫曼压缩。

数据压缩算法实现

利用香农-费诺编码、霍夫曼编码、LZ编码、算术编码实现数据压缩
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)