GZIP压缩原理分析(29)——第五章 Deflate算法详解(五20) 动态哈夫曼编码分析(09)构建哈夫曼树(01)
来源:互联网 发布:在线美工兼职网 编辑:程序博客网 时间:2024/05/17 01:54
现在已经完成了对字符串“As mentioned above,there are many kinds of wireless systems other than cellular.”进行压缩的第一步,LZ77算法通过用长度距离对儿替换匹配串的方式将这句话在“字节”层面上压缩,压缩结果为
“As mentioned above,there a(3,4)many kinds of wireless system(3,20)(4,42) thancellular.”。
此时这个字符串中能够被替换的地方都已经被替换了,从现在开始的压缩,要在“比特”的层面上进行,即把上面的字符串从字节流转换成比特流,从而实现进一步的压缩。
注意观察上面LZ77之后的字符串,我们可以将这个字符串中的字符分为三类:literal、length、distance。将字节流转换成比特流的过程说白了就是用哈夫曼编码把这些字符转换成码字长度不同的二进制码字,其中,distance的转换可以通过构建distance树来完成,literal和length的转换可以通过构建literal/length(literal和length用同一棵哈夫曼树)树来完成。
0 0
- GZIP压缩原理分析(29)——第五章 Deflate算法详解(五20) 动态哈夫曼编码分析(09)构建哈夫曼树(01)
- GZIP压缩原理分析(30)——第五章 Deflate算法详解(五21) 动态哈夫曼编码分析(10)构建哈夫曼树(02)
- GZIP压缩原理分析(31)——第五章 Deflate算法详解(五22) 动态哈夫曼编码分析(11)构建哈夫曼树(03)
- GZIP压缩原理分析(32)——第五章 Deflate算法详解(五23) 动态哈夫曼编码分析(12)构建哈夫曼树(04)
- GZIP压缩原理分析(33)——第五章 Deflate算法详解(五24) 动态哈夫曼编码分析(13)构建哈夫曼树(05)
- GZIP压缩原理分析(20)——第五章 Deflate算法详解(五11) 算法分析(05) 格式说明(04) 动态哈夫曼编码
- GZIP压缩原理分析(22)——第五章 Deflate算法详解(五13) 动态哈夫曼编码分析(02) LZ77过程(01)
- GZIP压缩原理分析(21)——第五章 Deflate算法详解(五12) 动态哈夫曼编码分析(01) 本节说明
- GZIP压缩原理分析(23)——第五章 Deflate算法详解(五14) 动态哈夫曼编码分析(03) LZ77过程(02)
- GZIP压缩原理分析(24)——第五章 Deflate算法详解(五15) 动态哈夫曼编码分析(04) LZ77过程(03)
- GZIP压缩原理分析(25)——第五章 Deflate算法详解(五16) 动态哈夫曼编码分析(05) LZ77过程(04)
- GZIP压缩原理分析(26)——第五章 Deflate算法详解(五17) 动态哈夫曼编码分析(06) LZ77过程(05)
- GZIP压缩原理分析(27)——第五章 Deflate算法详解(五18) 动态哈夫曼编码分析(07) LZ77过程(06)
- GZIP压缩原理分析(28)——第五章 Deflate算法详解(五19) 动态哈夫曼编码分析(08) LZ77过程(07)
- GZIP压缩原理分析(19)——第五章 Deflate算法详解(五10) 算法分析(04) 格式说明(03) 静态哈夫曼编码
- GZIP压缩原理分析(10)——第五章 Deflate算法详解(五01) 章前语
- GZIP压缩原理分析(14)——第五章 Deflate算法详解(五05) 预备知识(04) 前缀码、原始哈夫曼编码原理以及deflate所用哈夫曼编码的性质
- GZIP压缩原理分析(13)——第五章 Deflate算法详解(五04) 预备知识(03) 游程编码
- 初识正则表达式
- android studio 五子棋游戏
- Markdown使用指南
- 字符串之KMP算法(Java)
- Linux学习之路(四)
- GZIP压缩原理分析(29)——第五章 Deflate算法详解(五20) 动态哈夫曼编码分析(09)构建哈夫曼树(01)
- sap MMテーブル
- String字符串操作<一>
- 机器学习面试问题10
- 奇怪的问题--load file导入数据后发现多了一个字符,三个字节
- Windows 任务管理器中的几个内存概念
- 关于HTML面试题汇总之H5
- SPOJ PT07X Vertex Cover(树形dp)
- C#控制台 输出hello world之 用抽象类的抽象方法输出