《程序是怎么跑起来的》第六章
这一章主要讲的是文件的压缩。文件是将数据存储在磁盘等存储媒介中的一种形式,程序文件中存储数据的单位是字节,文件就是字节数据的结合。
还有讲了RLE算法,图像文件本质上也是字节数据的结合体,还有就是,RLE不适合文本文件的压缩。
还有就是哈夫曼算法,哈夫曼算法是指,为各压缩对象文件分别构造最佳的编码体系,并以该代码体系为基础来进行压缩,因此用什么样式的代码对数据进行分割,就要由各个文件而定,用哈夫曼算术压缩过的文件中,存储着哈夫曼编码信息和压缩过的数据。在哈夫曼算法中,通过借助哈夫曼树构造编码体系,即使在不使用字符区分符号的情况下,也可以构建能够明确进行区分的编码体系,也就是说,利用哈夫曼树后,就算表示各字符的数据位数不同,也能够做成可以明确区分的编码。
哈夫曼算法能够大幅提升压缩比例,哈夫曼算法压缩过的文件中读取数据后,就会以位为单位对该数据进行排查,并以哈夫曼树进行比较看是否到达了目标编码,这就是哈夫曼可以对数据进行区分的原因。
转载于:https://www.cnblogs.com/lee-88/p/10554963.html
《程序是怎么跑起来的》第六章相关推荐
- 《集体智慧编程》——第一章导读
为什么80%的码农都做不了架构师?>>> 什么是集体智慧 其含义是指:为了长早新的想法,而将一群人的行为.偏好或思想组合在一起. 完成这项工作的一种最为基础的方法,便是使用调查 ...
- 【集体智慧编程】第二章、提供推荐
一.前言 本章即将告诉大家,如何根据群体偏好来为人们提供推荐.有许多针对于此的应用,如:在线购物中的商品推荐.热门网站的推荐,以及帮助人们寻找音乐和影片的应用.本章将告诉你如何构筑一个系统,用以寻找具 ...
- 《集体智慧编程》第九章
1.P210 函数scaledata()在运行时会报错: AttributeError: 'list' object has no attribute 'data' 这是由于函数scaledata() ...
- 《集体智慧编程》第二章(一)
一.计算用户相似度 1.欧几里得距离 为了方便以后的读者学习,代码(基于python2.6)全部在最后. 这个没什么好说的,在二维空间中就是两点之间线段的长度.多维空间中,例如A(x1,x2,x3,- ...
- Python Qt GUI快速编程第六章代码分析
这是我敲的Python Qt Gui快速编程第六章上的代码,以后可能要用到其中一些,如果忘记了就来这里看看. #coding=utf-8 #d import os import platform im ...
- 《集体智慧编程》数学公式
这篇博客的目的主要是为了记录这些公式,取自原书附录B. 1.欧几里得距离(Euclidean Distance) 用途:计算距离,衡量相似度 公式: 代码实现: def euclidean(p, q) ...
- c语言编程作业最大整数问题,C语言编程第六章作业答案.doc
C语言编程第六章作业答案 1. 输入两个正整数m和n,求其最大公约数和最小公倍数. 辗除法--辗转相除法, 又名欧几里德算法(Euclidean algorithm)乃求两个正整数之最大公因子的算法. ...
- 《集体智慧编程》读书笔记2
最近重读<集体智慧编程>,这本当年出版的介绍推荐系统的书,在当时看来很引领潮流,放眼现在已经成了各互联网公司必备的技术. 这次边阅读边尝试将书中的一些Python语言例子用C#来实现,利于 ...
- 《集体智慧编程》读书笔记10
最近重读<集体智慧编程>,这本当年出版的介绍推荐系统的书,在当时看来很引领潮流,放眼现在已经成了各互联网公司必备的技术. 这次边阅读边尝试将书中的一些Python语言例子用C#来实现,利于 ...
- 《集体智慧编程》读书笔记4
最近重读<集体智慧编程>,这本当年出版的介绍推荐系统的书,在当时看来很引领潮流,放眼现在已经成了各互联网公司必备的技术. 这次边阅读边尝试将书中的一些Python语言例子用C#来实现,利于 ...
最新文章
- Softmax和Cross-entropy是什么关系?
- 手动绑定数据到DatList并实现编辑,删除,取消···
- 一步一步教你在IEDA中快速搭建SpringBoot项目
- mysql utc 下取得昨天的时间段。
- 一文讲透 Git 底层数据结构和原理
- 如何更改OST、OAB文件的默认路径?
- vba 压缩图片_1分钟批量处理100张图片,Word图片批量压缩/提取/居中统统搞定
- XmlParser和HtmlParser
- WordPress 主题教程 #3:开始 Index.php
- phpcms v9 后台添加修改页面空白页问题解决方法
- 人生一知己,足以慰风尘吗?
- wincc和matlab通信,Matlab与WinCC之间的数据通信.doc
- js中substr,substring,indexOf,lastIndexOf的用法小结
- 开源阅读书源_【阅读】一款开源的强大的看书软件!amp;超多书源。
- C++ 实现大小写转换
- 镜头光晕是如何形成的?
- 以太坊教程- Web3.js 开发基础
- html 网页不可以复制粘贴,网页上的文字不能复制,三种方法教你复制全网文字...
- C语言编程入门(转载)
- Rocky Linux安装k3s的问题
热门文章
- boost::mp11::mp_intersperse相关用法的测试程序
- boost::math模块实现图表显示使用 Lambert W 函数计算电流的测试程序
- boost::iterator_archetypes用法的测试程序
- boost::icl::interval_map用法的测试程序
- boost::copy_graph用法的测试程序
- boost::gil模块数字扩展中的 convolve_rows() 和 convolve_cols() 示例
- boost::geometry::append用法的测试程序
- 打印包含在 boost::exception 中的所有数据的测试程序
- Boost::context模块fiber的斐波那契测试程序
- Boost:双图bimap与mi_bidirectional地图的测试程序