[老文章搬家] 关于 Huffman 编码
含有某种语义的单元。比如拿常用的文本传输举例子,'a'就是个信息,它表示字母a,或者不定冠词a,又或者A片。总之它有一个预先定义的语义。
信息排列组合组成的串。就像英文一样,光有字母是不行的,因为字母只有26个,但是单词有几百万个,所以要用字母的排列组合来构成单词,比如apple,再比如<a href="http: baike.baidu.com="" view="" 657095.htm?source="www.willlong.com"">这个单词。然后我们还用单词加空格组成句子来表达更复杂的意思(信息),比如"son of bitch",这也是一个序列
我们用电子设备来传输信息,但是设备不认识信息,只认识电平,1和0。0和1被叫作符号。
PS: 据说中国有个教授研究能表达3个状态的量子逻辑,成果还挺厉害的,不知道靠谱否。
同样,光有符号也是不行的,因为符号只有两个(0,1),消息却有很多,比如字母有26个,所以要用符号的排列组合来表示信息,继而表示出信息序列。比如你去内存里看C字符串"son of bitch",就是0和1组成的符号序列。
对于一个信息/信息序列M,用一个符号序列C来表示,在这个映射中,我们称C为M的编码/编码序列(同时,我们不妨把这个映射的过程叫做编码,不会产生歧义)。
如果 P(1)<=P(2)<=...<=P(N)
那么 L(1)>=L(2)>=...>=L(N)
[老文章搬家] 关于 Huffman 编码的更多相关文章
- [老文章搬家] [翻译] 深入解析win32 crt 调试堆
		
09 年翻译的东西. 原文见: http://www.nobugs.org/developer/win32/debug_crt_heap.html 在DeviceStudio的Debug编译模式下, ...
 - Jcompress: 一款基于huffman编码和最小堆的压缩、解压缩小程序
		
前言 最近基于huffman编码和最小堆排序算法实现了一个压缩.解压缩的小程序.其源代码已经上传到github上面: Jcompress下载地址 .在本人的github上面有一个叫Utility的re ...
 - Huffman 编码压缩算法
		
前两天发布那个rsync算法后,想看看数据压缩的算法,知道一个经典的压缩算法Huffman算法.相信大家应该听说过 David Huffman 和他的压缩算法—— Huffman Code,一种通过字 ...
 - [转载]Huffman编码压缩算法
		
转自http://coolshell.cn/articles/7459.html 前两天发布那个rsync算法后,想看看数据压缩的算法,知道一个经典的压缩算法Huffman算法.相信大家应该听说过 D ...
 - Huffman编码实现压缩解压缩
		
这是我们的课程中布置的作业.找一些资料将作业完毕,顺便将其写到博客,以后看起来也方便. 原理介绍 什么是Huffman压缩 Huffman( 哈夫曼 ) 算法在上世纪五十年代初提出来了,它是一种无损压 ...
 - Huffman编码
		
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstdio> #include <cstri ...
 - 【数据压缩】Huffman编码
		
1. 压缩编码概述 数据压缩在日常生活极为常见,平常所用到jpg.mp3均采用数据压缩(采用Huffman编码)以减少占用空间.编码\(C\)是指从字符空间\(A\)到码字表\(X\)的映射.数据压缩 ...
 - 优先队列求解Huffman编码 c++
		
优先队列小析 优先队列的模板: template <class T, class Container = vector<T>,class Compare = less< ...
 - Huffman编码实现电文的转码与译码
		
//first thing:thanks to my teacher---chenrong Dalian Maritime university /* 构造Huffman Tree思路: ( ...
 
随机推荐
- OpenStack Mitaka 版本中的 domain 和 admin
			
OpenStack 的 Keystone V3 中引入了 Domain 的概念.引入这个概念后,关于 admin 这个role 的定义就变得复杂了起来. 本文测试环境是社区 Mitaka 版本. 1. ...
 - jquery的bind跟on绑定事件的区别
			
jquery的bind跟on绑定事件的区别:主要是事件冒泡: jquery文档中bind和on函数绑定事件的用法: .bind(events [,eventData], handler) .on(ev ...
 - BZOJ 3144: [Hnoi2013]切糕
			
3144: [Hnoi2013]切糕 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1495 Solved: 819[Submit][Status] ...
 - 一步一步学FRDM-KE02Z(一):IAR调试平台搭建以及OpenSDA两种工作模式设置
			
摘要:FRDM-KE02Z是飞思卡尔公司较为新的微控制器,学习和开发资料较少.从本篇开始会陆续介绍其相关的开发流程,并完成一个小型的工程项目.这是本系列博客的第一篇,主要介绍开发环境IAR for A ...
 - .NET跨平台之旅:升级ASP.NET Core示例站点
			
ASP.NET Core示例站点网址:http://about.cnblogs.com/ 首先安装最新版的 .NET Core 运行环境,从 https://github.com/dotnet/cli ...
 - 【BZOJ 4581】【Usaco2016 Open】Field Reduction
			
http://www.lydsy.com/JudgeOnline/problem.php?id=4581 考虑\(O(n^3)\)暴力. 实际上枚举最靠边的三个点就可以了,最多有12个点. 还是暴力= ...
 - 43. Multiply Strings
			
/** * @param {string} num1 * @param {string} num2 * @return {string} */ var multiply = function(num1 ...
 - 基于MemoryCache的缓存辅助类
			
背景: 1. 什么是MemoryCache? memoryCache就是用电脑内存做缓存处理 2.使用范围? 可用于不常变的数据,进行保存在内存中,提高处理效率 代码: /// <summary ...
 - iOS事件传递->处理->响应
			
前言: 按照时间顺序,事件的生命周期是这样的: 事件的产生和传递(事件如何从父控件传递到子控件并寻找到最合适的view.寻找最合适的view的底层实现.拦截事件的处理)->找到最合适的view后 ...
 - vs中使用git
			
vs中使用git 一.概念 Git是一个强调速度的分布式版本控制软件和源代码管理系统(SCM,source code management).Git最初是由Linus Torvalds为内核开发而设计 ...