计算机, 信息技术
霍夫曼码:应用实例
目前,很少有人会想到有关的事实,如何做文件压缩。 与以前使用的个人电脑相比已经变得更加容易。 而几乎每个人都与文件系统的工作使用的文件。 但很少有人会想到他们如何工作,在什么基础上的文件压缩。 这一过程的第一个版本是霍夫曼码,他们今天已应用于各种流行的档案库。 很多用户甚至不认为文件压缩多么容易发生,它是工作的一个方案。 在这篇文章中,我们看一下如何压缩什么细微的差别有助于加快和简化编码的过程,以及看什么树编码的原则。
历史算法
电子信息的编码效率的第一个算法已经成为一个代码霍夫曼提出的,早在二十世纪中叶,即1952年。 它是谁,他此刻是多数人创建的压缩信息程序的基本元素。 目前,使用这种代码最流行的来源之一是档案ZIP,ARJ,RAR和其他许多人。
有效编码原则
Huffman算法的基础包括一个方案,允许您更换最可信,最经常出现的符号 二进制编码 系统。 而那些谁是不太常见的,换成较长码。 去长霍夫曼码后,方可系统采用全最小值出现。 该技术允许你以最小化原始消息作为一个整体的每个符号的代码的长度。
霍夫曼编码,例如
为了说明这个算法,考虑建设代码树的图形变种。 使用这个方法是有效的,有必要澄清所需的处理的概念的某些值的定义。 该组中的多个节点和弧,这是从节点引向节点的,称为曲线图。 树本身是一组特定的性质图:
- 中的每个节点可以包括不超过一个圆弧以上;
- 其中一个节点必须是树的根,也就是说,它不应该在所有的弧的一部分;
- 如果杆开始沿弧线运动,这个过程应该允许在任何节点的完全搞定。
构建树哈夫曼算法
霍夫曼码的建设是从英文字母的输入。 产生的是在未来的代码树的免费网站的列表。 列表中的每个节点的权重必须是相同的作为对应于该节点的字母帖子的发生的概率。 在这种情况下,谁重的至少一个从未来树的几个免费的网站中选择。 在这种情况下,如果最低工资率在几个地点观察到的,你可以自由选择任意对。
提高压缩效率
为了提高压缩效率,它是在树构建代码必须使用的字母出现在一个特定的文件的可能性,连接到树中的所有数据,而不是让他们分散在大量的文本文档的事实。 如果预穿行这个文件,你可以立即计算出如何统计往往存在设施受到压缩的信件。
压缩过程的加速度
为了加快算法,字母的定义应该不是在一个特定的字母出现的概率,其发生的频率方面进行。 有了这个算法变得容易,更快地与他们合作。 这也避免了与浮点除法相关的操作。
结论
霍夫曼码 - 简单,历史悠久的算法,它仍然被许多知名项目和企业。 它的简单和清晰可取得有效的成果压缩任何体积的文件,并显著减少磁盘存储空间。 换句话说,Huffman算法 - 长期以来一直研究并没有被这一天减少工作图,它的紧迫性。
Similar articles
Trending Now