题意:给定哈夫曼树的n个叶子节点距离根的距离,求文本至少需要多少个字符可以建出这样的哈夫曼树
思路:策略:对于第i层的叶子节点,赋值为i+1层的节点中权值最大的点这种情况下字符数最少。详见代码:
/*********************************************************
file name: LA6533.cpp
author : kereo
...
分类:
其他好文 时间:
2015-02-08 09:06:25
阅读次数:
173
我总结的思维导图如下:对于,这些基础的算法之我的实现方式-手写: 我个人来说,除了哈夫曼树、二叉平衡树、关键路径,不能用手写下来之外,其余总体能够用手写来(核心函数)。有些人说这些 程序要用编译器,但是,我对自己的要求是能够手写(当然,我肯定是前面用过编译器的编译过的)。我个人认为应该全部掌握...
分类:
编程语言 时间:
2015-02-06 18:21:32
阅读次数:
254
//哈夫曼树类public class HaffmanTree { //最大权值 static final int MAXVALUE=1000; int nodeNum ; //叶子结点个数 public HaffmanTree(int n) { t...
分类:
编程语言 时间:
2015-02-02 17:55:42
阅读次数:
138
哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的 路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。树的带权路径长度记为WPL= (W1*L1+W2*L2+W3*L3+...+Wn*Ln),N个权值Wi(i=1...
分类:
其他好文 时间:
2015-01-30 15:17:37
阅读次数:
155
题意:
输出字符串的长度*8、huffman编码长度、两者比值。
题解:
huffman编码:
我们发现对于一个字符串,如果我们把它变成01串,比如ABCDE
那么我们需要
A : 000
B : 001
C : 010
D : 100
E : 101
来表示每一个字符,然后识别的时候就是每三个一识别。
这种编码叫定长编码。
显然对于一个串,它的定长编码长...
分类:
其他好文 时间:
2015-01-22 18:16:34
阅读次数:
175
先来了解一下哈夫曼树.
带权路径长度(WPL):设二叉树有n个叶子结点,每个叶子结点带有权值 wk,从根结点到每个叶子结点的长度为 lk,则每个叶子结点的带权路径长度之和就是:
最优二叉树或哈夫曼树: WPL最小的二叉树。
〖例〗有五个叶子结点,它们的权值为{1,2,3,4,5},用此权值序列可以构造出形状不同的多个二叉树。
其中结果wpl最小值的是:33=(1+2)*3+(3...
分类:
其他好文 时间:
2015-01-21 22:40:41
阅读次数:
263
先来了解一下哈夫曼树.
带权路径长度(WPL):设二叉树有n个叶子结点,每个叶子结点带有权值 wk,从根结点到每个叶子结点的长度为 lk,则每个叶子结点的带权路径长度之和就是:
最优二叉树或哈夫曼树: WPL最小的二叉树。
〖例〗有五个叶子结点,它们的权值为{1,2,3,4,5},用此权值序列可以构造出形状不同的多个二叉树。
其中结果wpl最小值的是:33=(1+2)*3+(3...
分类:
其他好文 时间:
2015-01-21 22:40:30
阅读次数:
438
一、哈弗曼树的基本概念。哈夫曼树,又称最优树,是一类带权路径长度最短的树。下面有几个概念:(1)路径。树中一个结点到另一个结点之间的分支构成这两个结点之间的路径。(2)路径长度。路径上的分枝数目。(3)树的路径长度。从树根到每一个结点的路径长度之和。(4)结点的带权路径长度。从该结点到树根之间的路径...
分类:
其他好文 时间:
2015-01-19 20:32:41
阅读次数:
608
【问题描述】
已知输入两行正整数,第二行正整数之间用空格键分开,请建立一个哈夫曼树,以输入的数字为叶节点,求这棵哈夫曼树的带权路径长度。
【输入形式】
首先第一行为输入正整数的个数,然后接下来的一行正整数,代表叶结点,正整数个数不超过1000个
【输出形式】
输出相应的权值
【样例输入】
5
4 5 6 7 8
【样例输出】
69
关于哈夫曼树——...
分类:
其他好文 时间:
2015-01-16 19:10:39
阅读次数:
317
根据一段字符串中字符的个数 作为该字符的权值生成哈夫曼树。
然后根据生成的哈夫曼编码,对任意字符串实现编码,对任意二进制串实现译码。
程序运行结果:
1.程序主界面:
2.根据字符串 创建哈夫曼树及编码:
3.生成的编码表如下:
4.根据生成的哈夫曼编码对字符串编码:
5.生成的编码保存在文件中:
6.对二进制串译码...
分类:
其他好文 时间:
2015-01-08 09:46:54
阅读次数:
179