题意:给你n个数的集合,每次选两个删除,把它们的和放回集合,直到集合的数只剩下一个,每次操作的开销是那两个数的和,求最小开销。赤果果的Huffman码了。用两个队列类似归并排序,合并一下。#includeusing namespace std;const int maxn = 5010;int q1...
分类:
其他好文 时间:
2015-08-09 18:25:37
阅读次数:
103
#include#include#includeusing namespace std;struct node{ int lchild; int rchild; int freq; string str; friend bool operatorn2.freq; /...
分类:
其他好文 时间:
2015-08-08 11:54:21
阅读次数:
153
主要是在学算导,觉得算导译到中国真是中国人民的福音。
一、编码
编码就是选择有意义的01串,令其首尾相接组成文本。我们并非可以随便挑选01串,原因在于它们是首尾相接的,这为我们识别造成了一些困难。比如说我们不能在文本000000中分清字符00与000.
一般我们使用的方式是定长字符;但更好的方式是前缀码,算导中写道”虽然我们这里不会证明,但与任何字符编码相比,前缀码确实可以保证达到最优数据压缩...
分类:
其他好文 时间:
2015-07-24 22:46:46
阅读次数:
447
附上完整的代码http://download.csdn.net/download/u010485034/7847447Huffman编码原理这里就不说了,是。这里来讲讲利用Huffman编码来进行压缩和解压缩的详细实现吧。本project使用java实现。编码1. 流程图2. 数据结构Charact...
分类:
编程语言 时间:
2015-07-08 09:23:39
阅读次数:
201
时间限制:30000ms
单点时限:3000ms
内存限制:256MB
描述
给定一个大小为n的字符集Σ中每个字符出现的频数,求不同的Huffman编码的数量模109?+?7。
一个编码是一个从Σ到01字符串的函数。 一个Huffman编码是一个由以下过程生成的编码:
初始时每个字符为一个集合。初始时所有字符对应到空字符串。一个集合S的频数w(S)定义为S内所有...
分类:
其他好文 时间:
2015-05-19 10:48:54
阅读次数:
372
前两天发布那个rsync算法后,想看看数据压缩的算法,知道一个经典的压缩算法Huffman算法。相信大家应该听说过David Huffman和他的压缩算法——Huffman Code,一种通过字符出现频率,Priority Queue,和二叉树来进行的一种压缩算法,这种二叉树又叫Huffman二叉树...
分类:
编程语言 时间:
2015-05-02 06:16:02
阅读次数:
208
赫夫曼树及其应用 赫夫曼(Huffman)树又称最优树,是一类带权路径长度最短的树,有着广泛的应用。
1 基本概念
① 结点路径:从树中一个结点到另一个结点的之间的分支构成这两个结点之间的路径。
② 路径长度:结点路径上的分支数目称为路径长度。
③ 树的路径长度:从树根到每一个结点的路径长度之和。
④ 结点的带权路径长度:从树的根结点到该结点的的路径长度与结点的权(值)的乘积。
权(...
分类:
其他好文 时间:
2015-04-30 10:38:40
阅读次数:
172
Huffman编码算法可用于文字压缩或加密解密
采用C++语言给出其高效实现,读者可思考实现算法中指针用法和树的构建过程
代码如下:...
分类:
编程语言 时间:
2015-04-07 23:28:10
阅读次数:
271
Huffman编码的代码计划一直躺在Evernote里面。这几天正好是论文初稿的提交间歇,就花两天把这项todolist干掉。Huffman Coding 原理Huffman Coding是一种可变长编码的无损压缩方法,在数据压缩、音频编码、图像编码中得到了广泛的应用,例如,MPEG1音频标准的LayerIII、H.263视频编码标准中都使用Huffman Coding来进行数据压缩。它是由Huff...
分类:
其他好文 时间:
2015-03-13 16:32:43
阅读次数:
421
题目链接:http://poj.org/problem?id=3253 非常简单的一道数据结构的题目哈,好久没刷过题了,现在再也不会刷那些很难的题目了,刷题只是为了让我保持清醒-.- 思路就是Huffman编码的简单应用~,一开始输出没用long long,导致WA了一发 其次是复习了一下...
分类:
其他好文 时间:
2015-02-12 00:34:21
阅读次数:
239