数据压缩算法

原创 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,下次继续
版权声明:本文为博主原创文章,未经博主允许不得转载。

几种压缩算法原理介绍

1 RLE RLE 又叫 Run Length Encoding ,是一个针对无损压缩的非常简单的算法。它用重复字节和重复的次数来简单描述来代替重复的字节。尽管简单并且对于通常的压缩非常低效,但它有的...
  • CleverCode
  • CleverCode
  • 2015年06月30日 09:40
  • 14501

零零散散学算法之详解数据压缩算法(上)

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

无损数据压缩算法的历史

引言 有两种主要的压缩算法: 有损和无损。有损压缩算法通过移除在保真情形下需要大量的数据去存储的小细节,从而使文件变小。在有损压缩里,因某些必要数据的移除,恢复原文件是不可能的。有损压缩主要用来存储图...
  • kimylrong
  • kimylrong
  • 2014年09月20日 00:00
  • 10591

数据压缩算法的实现代码(可运行)

  • 2010年01月09日 11:00
  • 16KB
  • 下载

列存储中常用的数据压缩算法

列存储,作为一种针对数据查询和数据分析设计的数据存储策略,在“大数据”越来越普及的今天可以说是相当地火热。相较于行存储,列存储的最大优势有二,其一就是查询涉及到数据库的哪几个列就读哪几个列,不读一点与...
  • bitcarmanlee
  • bitcarmanlee
  • 2016年03月20日 21:35
  • 1641

数据!数据!

----总喜欢在结束的时候写点感想,也算是漫谈吧---- **这次暑期实训算是大数据刚刚入门,以后发展的道路还很长,要解决的问题还很多,也会更艰难,但我仍会坚持下去。其实坚持的背后一定有很多因素在支...
  • oba_gaga
  • oba_gaga
  • 2016年07月19日 19:02
  • 325

数据压缩之不可压缩性

数据压缩算法一直朝着更高的压缩率方向突破,同时也在压缩率和压缩时间上做出权衡。 美剧《硅谷》中的初创公司魔笛手就是一个以数据压缩为核心的公司,在第三季里面杜撰的数据压缩算法可以将数据压缩到几乎不占空间...
  • mmy1996
  • mmy1996
  • 2016年09月13日 08:32
  • 395

深入解析数据压缩算法

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

数据流程图与数据字典

一、数据流程图:          是便于用户理解,分析系统数据流程的图形工具,它摆脱了系统的物理内容,精确地在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。      ...
  • hy6688_
  • hy6688_
  • 2013年10月26日 09:12
  • 4595

大数据与小数据

开始文章之前,先声明一下,文章的内容有的是大虾自己的理解,也有是网络上的内容,但是尽量不会去做大段的复制,如果实在有雷同得太厉害的,纯粹巧合。另外文章中的观点仅代表我个人想法,不对正确与否负责,希望有...
  • allenlu2008
  • allenlu2008
  • 2014年08月14日 21:53
  • 2054
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据压缩算法
举报原因:
原因补充:

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