我们希望建立这样一株二叉树,其叶结点为一组给定的带权结点,称这个树的权重为每个叶子结点到根结点的距离与其权值的乘积的累和,即$$ T.w=\sum_{x\ is\ T's\ leaf}^{}{x.w\cdot x.d} $$其中x.w表示叶结点的权重,而x.d为叶结点的深度。哈夫曼树是所有满足上面条 ...
分类:
其他好文 时间:
2017-12-08 01:35:40
阅读次数:
230
【1】赫夫曼树基本概念 别名“最优树”,是一种带权路径最短的树。 (1)路径:从树中一个结点到另一个结点之间的分支构成这两个结点之间的路径。 (2)路径长度:路径上的分支数目。 (3)树的路径长度:从树根到一每结点的路径长度之和。 (4)结点的带权路径长度:从该结点到树根之间的路径长度与结点上权值的 ...
分类:
其他好文 时间:
2017-12-05 13:16:05
阅读次数:
108
Stripies Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 18198 Accepted: 8175 Description Our chemical biologists have invented a new very ...
分类:
其他好文 时间:
2017-11-28 23:16:19
阅读次数:
318
堆分为最小堆和最大堆。最小堆指的是任意一个节点都有小于他的做儿子和右儿子。最大堆指的是任意一个节点大于打的左儿子右儿子。 最大堆的操作(堆得主要操作就是上滤和下滤) 插入:先将一个节点插入到堆得最后的位置然后上滤,如果他的父亲小于他,就把他父亲的值给他,继续循环,当退出循环的时候就是要插入的节点: ...
分类:
其他好文 时间:
2017-11-28 21:57:20
阅读次数:
206
poj 3253 Fence Repair 题目链接: [http://poj.org/problem?id=3253][db71892b] 思路: 哈夫曼树型贪心 自底向上每次挑选两个最小的数值相加,相加的值从新合并到数组中,继续挑选相加 如果每次都要排序的话会超时.... 代码: c++ inc ...
分类:
其他好文 时间:
2017-11-28 13:24:52
阅读次数:
122
之前弃疗的一个方向 捡起来!!! Abstract: 视频解码质量与接收信道质量线性相关,不会出现断崖式的下降。要做到这一点,要保证数字视频信号和像素亮度线性相关。 Introduction:传统的视频传输两个方面:视频压缩,编码压缩数据传输。Shannon分离理论证明在点对点传输中,信源编码和信道 ...
分类:
其他好文 时间:
2017-11-25 22:43:24
阅读次数:
149
什么是哈夫曼树呢? 结点的带权路径长度:在一棵树中,如果其结点上附带有一个权值,通常把该结点到根的路径长度与该结点上的权值之积称为该结点的带权路径长度 哈夫曼树是一种带权路径长度最短的二叉树,也称为最优二叉树。下面用一幅图来说明。 它们的带权路径长度分别为: 图a: 5*2+7*2+2*2+13*2 ...
分类:
其他好文 时间:
2017-11-24 22:54:49
阅读次数:
162
闲暇的夜晚, 写个哈夫曼树练练笔。 #include<iostream>#include<cstring>#include<cstdlib>#include<algorithm>typedef struct{ char data; int w,parent, lchild, rchild; int ...
分类:
其他好文 时间:
2017-11-21 22:03:24
阅读次数:
96
2017-11-17 一、哈夫曼树 (1)哈夫曼树(最优二叉树),是指权值为w1,w2,....,wn的n个叶结点所构成的二叉树中带权路径长度最小的二叉树。 (2)从树中一个结点到另一个结点之间的分支构成这两个结点之间的路径,路径上的分支数目称做路径长度。 (3)树的路径长度(PL)是从树根到每一个 ...
分类:
其他好文 时间:
2017-11-17 20:02:21
阅读次数:
104
1.贪婪算法的第二个应用为 哈夫曼编码 来进行文件压缩。 文件压缩的主要问题是给文件中的所有字符分配能唯一识别的编码(n个比特),如果我们事先知道所有字符出现的频率,把频率最高的放在最上层,频率低的放在左侧最下层,这就是最优编码。 2.编码树,所有字符都放在叶节点上,往左走的每条路径代表0,往右走的 ...
分类:
编程语言 时间:
2017-11-17 00:01:44
阅读次数:
269