文档章节

数据结构-04-霍夫曼压缩(Huffman Compression)

Corwien
 Corwien
发布于 2016/06/17 12:00
字数 420
阅读 59
收藏 0

###Huffman Compression - 霍夫曼压缩 主要思想:放弃文本文件的普通保存方式:不再使用7位或8位二进制数表示每一个字符,而是用较少的比特表示出现频率最高的字符,用较多的比特表示出现频率低的字符。

使用变长编码来表示字符串,势必会导致编解码时码字的唯一性问题,因此需要一种编解码方式唯一的前缀码,而表示前缀码的一种简单方式就是使用单词查找树,其中最优前缀码即为Huffman首创。

以符号F, O, R, G, E, T为例,其出现的频次如以下表格所示。

Symbol F O R G E T Frequence 2 3 4 4 5 7 Code 000 001 100 101 01 10 则对各符号进行霍夫曼编码的动态演示如下图所示。基本步骤是将出现频率由小到大排列,组成子树后频率相加作为整体再和其他未加入二叉树中的节点频率比较。加权路径长为节点的频率乘以树的深度。

输入图片说明

有关霍夫曼编码的具体步骤可参考 Huffman 编码压缩算法 | 酷 壳 - CoolShell.cn 和 霍夫曼编码 - 维基百科,自由的百科全书,清晰易懂。

© 著作权归作者所有

Corwien
粉丝 27
博文 149
码字总数 115164
作品 0
广州
程序员
私信 提问
简单聊聊 GZIP 的压缩原理与日常应用

前言 在基于 HTTP 协议的网络传输中 GZip 经常被使用,Nginx 中也可以使用半行代码开启 GZip。GZip 压缩的原理是什么呢?本篇文章是我在网上阅读了一些文档后做的简单总结。 从 RFC 1952 看起...

rccoder
2018/08/19
0
0
[~ Tue, 26 July 2016] Deep Learning in arxiv

Deep3D:Fully Automatic 2D-to-3D Video Conversion with Deep Convolutional NeuralNetworks 论文:http://homes.cs.washington.edu/~jxie/pdf/deep3d.pdf 代码:https://github.com/piiswr......

sunbaigui
2016/07/26
0
0
从零开始手敲次世代游戏引擎(JPEG特别篇)-2

接从零开始手敲次世代游戏引擎(JPEG特别篇)-1。 (首先说一下,这篇会非常难看。但是如果动手去做了,会对各项能力有极大的提高) 我们现在有了核心的算法库,接下来就是实际读取JPEG文件并...

陈文礼
2017/12/09
0
0
【工具使用系列】关于 MATLAB 图像编码 & 图像压缩,你需要知道的事情

如何进行图像压缩 图像压缩 统计编码 行程编码 霍夫曼编码 预测编码 预测编码 视频压缩 图像序列和电影 时间冗余和运动补偿 什么是图像压缩 图像编码概述 图像压缩编码的必要性和可能性 图像...

AllenMoore
2018/01/27
46
0
【深度神经网络压缩】Deep Compression (ICLR2016 Best Paper)

Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman coding 这篇论文是Stanford的Song Han的 ICLR2016 的 best paper,Song Han写了一系列......

仙道菜
2016/07/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

最简单的获取相机拍照的图片

  import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import andr......

MrLins
今天
5
0
说好不哭!数据可视化深度干货,前端开发下一个涨薪点在这里~

随着互联网在各行各业的影响不断深入,数据规模越来越大,各企业也越来越重视数据的价值。作为一家专业的数据智能公司,个推从消息推送服务起家,经过多年的持续耕耘,积累沉淀了海量数据,在...

个推
今天
8
0
第三方支付-返回与回调注意事项

不管是支付宝,微信,还是其它第三方支付,第四方支付,支付机构服务商只要涉及到钱的交易都要进行如下校验,全部成功了才视为成功订单 1.http请求是否成功 2.校验商户号 3.校验订单号及状态...

Shingfi
今天
4
0
简述Java内存分配和回收策略以及Minor GC 和 Major GC(Full GC)

内存分配: 1. 栈区:栈可分为Java虚拟机和本地方法栈 2. 堆区:堆被所有线程共享,在虚拟机启动时创建,是唯一的目的是存放对象实例,是gc的主要区域。通常可分为两个区块年轻代和年老代。更...

DustinChan
今天
6
0
Excel插入批注:可在批注插入文字、形状、图片

1.批注一直显示:审阅选项卡-------->勾选显示批注选项: 2.插入批注快捷键:Shift+F2 组合键 3.在批注中插入图片:鼠标右键点击批注框的小圆点【重点不可以在批注文本框内点击】----->调出批...

东方墨天
今天
6
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部