哈弗曼树也称为最优二叉树,它是带权路径长度最短的树,权值越大的结点就离根节点越近。(一般在哈弗曼编码中,权值表示出现的概率,即出现的概率越大,那么访问时的路径就越短)。构建哈弗曼树:将n个权值构造出n棵只有根节点的树,构成森林。在森林中选出两个根结点的权值最..
分类:
其他好文 时间:
2016-07-13 06:57:48
阅读次数:
187
Huffman树又叫最优二叉树,它的特点是带权路径最短。
Huffman树的一个重要应用是Huffman编码,Huffman编码是长度最短的前缀编码。即给定要传送的字符的权值,根据权值求出Huffman编码,它一定是前缀编码(指任意字符的编码都不是另一个字符编码的前缀),并且在传送过程由字符组成的文字时,编码长度最小。
因此Huffman编码可以对文字进行加密解密还有压缩。加密的工作就是...
分类:
其他好文 时间:
2016-07-03 13:14:19
阅读次数:
192
它是由n个带权叶子结点构成的所有二叉树中带权路径长度最短的二叉树。因为这种树最早由哈夫曼(Huffman)研究,所以称为哈夫曼树,又叫最优二叉树。...
分类:
其他好文 时间:
2016-05-13 03:57:10
阅读次数:
188
经过了一周的学习,我们在html以及C语言方面又有的新的知识点的学习。 html 自习表格,函数等 C语言 哈弗曼编码 Html案例: 一. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o ...
分类:
其他好文 时间:
2016-05-05 22:21:40
阅读次数:
239
文件压缩主要有两个好处,一是减少了存储文件所占空间,另一个就是为数据传输提速。在hadoop大数据的背景下,这两点尤为重要,那么我现在就先来了解一下hadoop的文件压缩。 Hadoop里支持很多种压缩格式,看下表: DEFLATE是同时使用了LZ77算法与哈弗曼编码(Huffman Coding)
分类:
其他好文 时间:
2016-01-31 21:29:35
阅读次数:
320
设计一个哈弗曼编码和译码系统, 要求如下:
B——建树:读入字符集和各字符频度,建立哈夫曼树。
T——遍历:先序和中序遍历二叉树。
E——生成编码:根据已建成的哈夫曼树,产生各个字符的哈夫曼编码。
C——编码:输入由字符集中字符组成的任意字符串,利用已生成的哈夫曼编码进行编码,显示编码结果,并将输入的字符串及其编码结果分别保存在磁盘文件textfile.txt和code...
分类:
其他好文 时间:
2015-11-03 00:45:37
阅读次数:
256
# 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
贪婪算法分阶段的工作。在每一个阶段,就认为在这个阶段所做的决定是最好的。该算法终止的时候,我们希望局部最优就是全局最优。 NP完全的意思是算法的复杂度可以用多项式来表示。 哈弗曼编码: tri树 前缀码,如果一个字符放在非树叶结点上,那就不再额能够保证译码没有二义性。
分类:
编程语言 时间:
2015-09-03 12:41:26
阅读次数:
157
这道题我一开始想错了,这么简单的题都wa了两发。。。我往贪心上面想了,每次都找一个最小的数相加,结果就是
排序后直接往后加,还在那纳闷为何出错。。。其实这道题是哈弗曼编码问题,简直是模板题目,就是每次找两个最
小的结点求和后把他们的和放到节点中去,把这两个点删除。。。用的multiset,其实和set容器差不多,就是可
以存放重复的元素。。。
代码:
#include
#include
...
分类:
其他好文 时间:
2015-08-05 22:31:00
阅读次数:
107
#include
#include
#include
#define MY_STRMAX 100
#define infinity 1000000
typedef struct
{
unsigned int weight; //深度
char ch; //结点数值
unsi...
分类:
其他好文 时间:
2015-07-28 21:06:14
阅读次数:
104