/*博客地址black4yl.blog.51cto.com*/
#include"stdio.h"
#include"malloc.h"
#include"string.h"
typedefchar*HuffmanCode;/*动态分配数组,存储哈夫曼编码*/
typedefstruct
{
charname;/*存放名称*/
unsignedintweight;/*用来存放各个结点的权值*/
unsignedintparent,LChild..
分类:
其他好文 时间:
2014-11-20 23:57:38
阅读次数:
312
作者:jostree转载请注明出处http://www.cnblogs.com/jostree/p/4096079.html使用优先队列实现,需要注意以下几点:1.在使用priority_queue时,内部需要存储哈夫曼树节点的指针,而不能是节点。因为构建哈夫曼树时,需要把其左右指针指向孩子,而如果...
分类:
其他好文 时间:
2014-11-20 23:26:21
阅读次数:
297
在一般的数据结构的书中,树的那章后面,著者一般都会介绍一下哈夫曼(HUFFMAN)树和哈夫曼编码。哈夫曼编码是哈夫曼树的一个应用。哈夫曼编码应用广泛,如JPEG中就应用了哈夫曼编码。 首先介绍什么是哈夫曼树。哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的...
分类:
其他好文 时间:
2014-11-19 21:47:35
阅读次数:
219
为了方便快捷高效率的求得集合中权值最小的2个元素,我采用堆数据结构,它可以以O(logn)的复杂度取得n个元素中的最小值。为了绕过对堆的实现,我采用标准模板库中的相应标准模板——优先队列。利用语句:priority_queue Q; 建立一个保存元素为int的堆Q,但是此时建立的堆默认是大顶堆...
分类:
其他好文 时间:
2014-11-19 17:43:25
阅读次数:
194
??
改编自下面是证明链接(英文)
http://algoviz.org/OpenDSA/Books/OpenDSA/html/HuffProof.html
====================
设buildHuff是创建哈夫曼树的函数。
引理1:给定W = {w1, w2, w3...,
wn} (n >= 2), 以此集合构建相应的哈夫曼树。令wi, wj 是W中权重最...
分类:
其他好文 时间:
2014-11-18 13:35:03
阅读次数:
350
??
哈夫曼 (Huffman) 树的动画演示:
http://people.cs.pitt.edu/~kirk/cs1501/animations/Huffman.html
此网站中亦有诸多其它算法的动画演示,可供学习算法或是数据结构相关内容时参考。...
分类:
其他好文 时间:
2014-11-17 17:56:35
阅读次数:
280
一、哈夫曼树的概念和定义
什么是哈夫曼树?
让我们先举一个例子。
判定树:
在很多问题的处理过程中,需要进行大量的条件判断,这些判断结构的设计直接影响着程序的执行效率。例如,编制一个程序,将百分制转换成五个等级输出。大家可能认为这个程序很简单,并且很快就可以用下列形式编写出来:
[cpp] view
plaincopy...
分类:
其他好文 时间:
2014-11-13 18:56:34
阅读次数:
371
#include
#include
#include
#include
#define N 100
typedef struct
{
int weight;
int parent, lchild, rchild;
}hafuman;
typedef struct
{
char data[N]; //字符数据
char copy[N][10*N];//编码
}bianma;
v...
分类:
编程语言 时间:
2014-11-11 19:14:11
阅读次数:
328
介绍哈夫曼编码之前先介绍一下哈弗曼树:哈夫曼树:哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。树的带权路径长度记为WPL=(W1*L1+W2*L2+W3*L3...
分类:
其他好文 时间:
2014-11-11 07:00:57
阅读次数:
260
题目链接:http://poj.org/problem?id=3253思路:题目与哈夫曼编码原理相同,使用优先队列与贪心思想;读入数据在优先队列中,弹出两个数计算它们的和,再压入队列中;代码:#include #include using namespace std;struct cmp{ b...
分类:
其他好文 时间:
2014-11-10 19:32:09
阅读次数:
161