这一章主要讲的是文件的压缩。文件是将数据存储在磁盘等存储媒介中的一种形式,程序文件中存储数据的单位是字节,文件就是字节数据的结合。

还有讲了RLE算法,图像文件本质上也是字节数据的结合体,还有就是,RLE不适合文本文件的压缩。

还有就是哈夫曼算法,哈夫曼算法是指,为各压缩对象文件分别构造最佳的编码体系,并以该代码体系为基础来进行压缩,因此用什么样式的代码对数据进行分割,就要由各个文件而定,用哈夫曼算术压缩过的文件中,存储着哈夫曼编码信息和压缩过的数据。在哈夫曼算法中,通过借助哈夫曼树构造编码体系,即使在不使用字符区分符号的情况下,也可以构建能够明确进行区分的编码体系,也就是说,利用哈夫曼树后,就算表示各字符的数据位数不同,也能够做成可以明确区分的编码。

哈夫曼算法能够大幅提升压缩比例,哈夫曼算法压缩过的文件中读取数据后,就会以位为单位对该数据进行排查,并以哈夫曼树进行比较看是否到达了目标编码,这就是哈夫曼可以对数据进行区分的原因。

转载于:https://www.cnblogs.com/lee-88/p/10554963.html

《程序是怎么跑起来的》第六章相关推荐

  1. 《集体智慧编程》——第一章导读

    为什么80%的码农都做不了架构师?>>>    什么是集体智慧 其含义是指:为了长早新的想法,而将一群人的行为.偏好或思想组合在一起. 完成这项工作的一种最为基础的方法,便是使用调查 ...

  2. 【集体智慧编程】第二章、提供推荐

    一.前言 本章即将告诉大家,如何根据群体偏好来为人们提供推荐.有许多针对于此的应用,如:在线购物中的商品推荐.热门网站的推荐,以及帮助人们寻找音乐和影片的应用.本章将告诉你如何构筑一个系统,用以寻找具 ...

  3. 《集体智慧编程》第九章

    1.P210 函数scaledata()在运行时会报错: AttributeError: 'list' object has no attribute 'data' 这是由于函数scaledata() ...

  4. 《集体智慧编程》第二章(一)

    一.计算用户相似度 1.欧几里得距离 为了方便以后的读者学习,代码(基于python2.6)全部在最后. 这个没什么好说的,在二维空间中就是两点之间线段的长度.多维空间中,例如A(x1,x2,x3,- ...

  5. Python Qt GUI快速编程第六章代码分析

    这是我敲的Python Qt Gui快速编程第六章上的代码,以后可能要用到其中一些,如果忘记了就来这里看看. #coding=utf-8 #d import os import platform im ...

  6. 《集体智慧编程》数学公式

    这篇博客的目的主要是为了记录这些公式,取自原书附录B. 1.欧几里得距离(Euclidean Distance) 用途:计算距离,衡量相似度 公式: 代码实现: def euclidean(p, q) ...

  7. c语言编程作业最大整数问题,C语言编程第六章作业答案.doc

    C语言编程第六章作业答案 1. 输入两个正整数m和n,求其最大公约数和最小公倍数. 辗除法--辗转相除法, 又名欧几里德算法(Euclidean algorithm)乃求两个正整数之最大公因子的算法. ...

  8. 《集体智慧编程》读书笔记2

    最近重读<集体智慧编程>,这本当年出版的介绍推荐系统的书,在当时看来很引领潮流,放眼现在已经成了各互联网公司必备的技术. 这次边阅读边尝试将书中的一些Python语言例子用C#来实现,利于 ...

  9. 《集体智慧编程》读书笔记10

    最近重读<集体智慧编程>,这本当年出版的介绍推荐系统的书,在当时看来很引领潮流,放眼现在已经成了各互联网公司必备的技术. 这次边阅读边尝试将书中的一些Python语言例子用C#来实现,利于 ...

  10. 《集体智慧编程》读书笔记4

    最近重读<集体智慧编程>,这本当年出版的介绍推荐系统的书,在当时看来很引领潮流,放眼现在已经成了各互联网公司必备的技术. 这次边阅读边尝试将书中的一些Python语言例子用C#来实现,利于 ...

最新文章

  1. Softmax和Cross-entropy是什么关系?
  2. 手动绑定数据到DatList并实现编辑,删除,取消···
  3. 一步一步教你在IEDA中快速搭建SpringBoot项目
  4. mysql utc 下取得昨天的时间段。
  5. 一文讲透 Git 底层数据结构和原理
  6. 如何更改OST、OAB文件的默认路径?
  7. vba 压缩图片_1分钟批量处理100张图片,Word图片批量压缩/提取/居中统统搞定
  8. XmlParser和HtmlParser
  9. WordPress 主题教程 #3:开始 Index.php
  10. phpcms v9 后台添加修改页面空白页问题解决方法
  11. 人生一知己,足以慰风尘吗?
  12. wincc和matlab通信,Matlab与WinCC之间的数据通信.doc
  13. js中substr,substring,indexOf,lastIndexOf的用法小结
  14. 开源阅读书源_【阅读】一款开源的强大的看书软件!amp;超多书源。
  15. C++ 实现大小写转换
  16. 镜头光晕是如何形成的?
  17. 以太坊教程- Web3.js 开发基础
  18. html 网页不可以复制粘贴,网页上的文字不能复制,三种方法教你复制全网文字...
  19. C语言编程入门(转载)
  20. Rocky Linux安装k3s的问题

热门文章

  1. boost::mp11::mp_intersperse相关用法的测试程序
  2. boost::math模块实现图表显示使用 Lambert W 函数计算电流的测试程序
  3. boost::iterator_archetypes用法的测试程序
  4. boost::icl::interval_map用法的测试程序
  5. boost::copy_graph用法的测试程序
  6. boost::gil模块数字扩展中的 convolve_rows() 和 convolve_cols() 示例
  7. boost::geometry::append用法的测试程序
  8. 打印包含在 boost::exception 中的所有数据的测试程序
  9. Boost::context模块fiber的斐波那契测试程序
  10. Boost:双图bimap与mi_bidirectional地图的测试程序