# coding: utf-8#Tree-Node Typeclass Node: def __init__(self,freq): self.left = None self.right = None self.father = None ...
分类:
编程语言 时间:
2015-09-04 18:17:05
阅读次数:
344
In 1953, David A. Huffman published his paper "A Method for the Construction of Minimum-Redundancy Codes", and hence printed his name in the history o...
分类:
其他好文 时间:
2015-08-31 17:11:42
阅读次数:
342
作为一个通信人,本科时候上过信息论,研究生也继续修过信息编码。面试的时候,面试官说了一个哈夫曼树,作为一个通信人竟然忘了。多少有些说不过去。理论知识Huffman算法的最根本的原则是:累计的(字符的统计数字字符的编码长度)为最小,也就是权值(字符的统计数字字符的编码长度)的和最小。 这样编码可以达到压缩的效果。又名最优二叉树。
具体的可以参考左耳朵耗子的博客:http://coolshell.c...
分类:
编程语言 时间:
2015-08-28 21:28:36
阅读次数:
240
#lang racket(define (length items) (if (null? items) 0 (+ 1 (length (cdr items)))))(define (element-of-set? x set) (cond ((null? set) fals...
分类:
其他好文 时间:
2015-08-20 18:23:45
阅读次数:
139
哈夫曼树又称为最优二叉树,哈夫曼树的一个最主要的应用就是哈夫曼编码,本文通过简单的问题举例阐释哈夫曼编码的由来,并用哈夫曼树的方法构造哈夫曼编码,最终解决问题来更好的认识哈夫曼树的应用--哈夫曼编码。 一、引子 在学习中我们经常遇到将各科成绩改为优秀、良好、中等、及格和不及格。那么根据分级原理,代码...
分类:
其他好文 时间:
2015-08-19 16:08:45
阅读次数:
180
4198: [Noi2015]荷马史诗Time Limit: 10 Sec Memory Limit: 512 MB
Submit: 127 Solved: 80
Description追逐影子的人,自己就是影子。 ——荷马
Allison 最近迷上了文学。她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的《荷马史诗》。但是由《奥德赛》和《伊利亚特》组成的鸿篇巨制《荷马史诗》...
分类:
其他好文 时间:
2015-08-14 19:10:54
阅读次数:
1630
问题背景:Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下:1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{.....
分类:
编程语言 时间:
2015-08-13 14:07:10
阅读次数:
144
gzip是一种数据格式,默认且目前仅使用deflate算法压缩data部分;deflate是一种压缩算法,是huffman编码的一种加强。deflate与gzip解压的代码几乎相同,可以合成一块代码。区别仅有:deflate使用inflateInit(),而gzip使用inflateInit2()进...
分类:
其他好文 时间:
2015-08-11 09:44:34
阅读次数:
390
题意:给你n个数的集合,每次选两个删除,把它们的和放回集合,直到集合的数只剩下一个,每次操作的开销是那两个数的和,求最小开销。赤果果的Huffman码了。用两个队列类似归并排序,合并一下。#includeusing namespace std;const int maxn = 5010;int q1...
分类:
其他好文 时间:
2015-08-09 18:25:37
阅读次数:
103