《程序是怎么跑起来的》第6章

本章节中,主要讲自己动手压缩数据并且压缩数据的原理。
通过莫尔斯编码来看哈夫曼算法的基础 
哈夫曼算法的思想与摩尔斯码的思想类似,不是所有的内容都存入等长的二进制位中,而是把数据中经常出现的字符用尽可能短的二进制位数表示,较少出现的字符用较长的二进制位数表示。在计算机中存储时当然要以字节的整数倍存储,所以不足的要补全
用二叉树实现哈夫曼编码

  1. 因为不同字符所占的二进制位数不一样了,所以原始做法是加入分隔符来区分字符,但是分隔符也是要占据空间的
  2. 哈夫曼树有一个优化是,他会对不同的文件,按文件内部字符出现的频率,来确定字符占用的二进制位数,这部分编码信息也会占据空间,但这是值得的
  3. 通过哈夫曼树,可以不使用分隔符,哈夫曼树是从叶子结点向根节点方向构建的,先统计出字符出现的频率,然后每次将词频最低的两个连接
    用二叉树实现哈夫曼编码  
  4. 因为不同字符所占的二进制位数不一样了,所以原始做法是加入分隔符来区分字符,但是分隔符也是要占据空间的
  5. 哈夫曼树有一个优化是,他会对不同的文件,按文件内部字符出现的频率,来确定字符占用的二进制位数,这部分编码信息也会占据空间,但这是值得的
  6. 通过哈夫曼树,可以不使用分隔符,哈夫曼树是从叶子结点向根节点方向构建的,先统计出字符出现的频率,然后每次将词频最低的两个连接
    可逆压缩和非可逆压缩  
  7. BMP格式的图像是完全没有经过压缩的,所以叫bitmap
  8. jpeg、tiff、gif都是经过压缩的,jpeg是非可逆压缩,gif是可逆压缩
    以上就是我本章的收获啦!
posted @ 2024-02-28 21:35  坠于星野  阅读(11)  评论(0)    收藏  举报