《程序是怎样跑起来的》第六章总结
一,文件是以字节为单位记录的
文件就是一串连续存储的字节数据。
二,游程编码的原理:数据×重复次数
三,缺点:实际的文本文件中,很少有同一个字符连续出现多次的情况。不适合用于压缩文本文件。更适合用于压缩图片(黑白)。
四,哈夫曼算法:将出现次数多的数据用小于8比特的编码表示,将出现次数少的数据用大于8比特的编码表示。
五,使用树来构建哈夫曼编码
哈夫曼算法使用哈夫曼树来构建编码系统,从而实现不用分隔符就能区分字符的编码系统。
哈夫曼树构建方法步骤:
1,将数据按出现频率排序
2,选择出现频率最低的两个数据,向上拉出两条线合并分支,将两者的频率相加作为上层节点的频率,如果频率最低的选项有多个,任选两个
3当只剩根上最后一个数据时,哈夫曼树就构建完成了,现在从根出发,在左支写上0,右支写上1.
六,通过哈夫曼算法大幅提高压缩效率
哈夫曼树可以为出现频率较高的数据赋予长度较短的编码,并且可以准确判断字符之间的分隔,
七,无损压缩与有损压缩
无损压缩:人眼感觉不到差别,就允许损失一些质量,能够恢复到压缩前状态。
有损压缩:不能恢复到压缩前状态。

浙公网安备 33010602011771号