数据压缩及编码问题问题

(本文章用于自学和分享)

 

数据压缩

 

 

无损压缩

游程长度编码(无需知道字符出现频率)

方式一:

         出现连续重复的符号  如BBBBBBBB 可以用 B08表示  

注意:我们使用固定位数(2位)的数字来表示

 

方式二:

         用于只使用01表示的数据中,用4位二进制(无符号)来表示两个1中间0的个数

         注意:若连续的0多于15,它们就被分为2组或更多组。如:连续的25个0的编码为 1111  1010.      若刚好是150, 则表示为 1111  0000.

 

赫夫曼编码(需计算字符出现频率)

第一步:计算字符频率

第二步:构建赫夫曼树

第三步:分配编码

第四步:编码

 

Lempel  Ziv 编码

         LZ编码是称为基于字典的编码的那一类算法的一个例子

 

压缩原理:需要同时做两件事:建立字典索引和压缩字符串。 从未压缩的字符串中选取最小字符串,这些字符串在字典中不存在,然后为其分配索引值,用索引值代替出现的字符。如:ABBB 在下图中在字典中找到ABB和它的索引值4, 得到的压缩字符串就是4B。

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值