Fence RepairTime Limit: 2000 MS Memory Limit: 65536 KB64-bit integer IO format: %I64d , %I64u Java class name: Main[Submit] [Status] [Discuss]Descript...
分类:
其他好文 时间:
2014-07-19 00:20:15
阅读次数:
183
哈夫曼算法原理Wikipedia上面说的非常清楚了,这里我就不再赘述,直接贴过来了。1952年, David A. Huffman提出了一个不同的算法,这个算法能够为不论什么的可能性提供出一个理想的树。香农-范诺编码(Shanno-Fano)是从树的根节点到叶子节点所进行的的编码,哈夫曼编码算法却是...
分类:
其他好文 时间:
2014-07-16 21:09:00
阅读次数:
217
一、 什么是哈夫曼树
是一种带权路径长度最短的二叉树,也称最优二叉树
带权路径长度:WPL=(W1*L1+W2*L2+W3*L3+...+ Wn*Ln)
N个权值Wi(i=1,2,...n)构成一棵有N个叶结点的二叉树,相应的叶结点的路径长度为Li(i=1,2,...n)。
二、 建立哈夫曼树
已知的一组叶子的权值w1,w2,w3……wn;
①首先把 n 个...
分类:
其他好文 时间:
2014-07-16 09:01:13
阅读次数:
327
哈夫曼树
给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。节点的带权长度是这样定义的:节点的权值*根节点到该节点的路径长度。树的带权路径长度(Weighted Path Length of Tree,简记为WPL)则是指所有节点的带权长度和。哈夫曼树就是使WPL最小的一种树,并且哈夫曼树是满二叉树。它的构造方法是哈夫曼方法。哈夫曼树是这样构造的:...
分类:
其他好文 时间:
2014-07-12 19:49:04
阅读次数:
252
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1053讲解: 题意:给定一个字符串,根据哈夫曼编码求出最短长度,并求出比值。 思路:就是哈夫曼编码。把单个字符出现次数作为权值。AC代码: 1 #include 2 #include 3 #inc...
分类:
其他好文 时间:
2014-07-11 21:19:50
阅读次数:
277
主要思想:(1)对List集合中所有节点进行排序。(2)找出List集合中权值最小的两个节点。(3)以权值最小的两个节点作为子节点创建新节点。(4)从List集合中删除权值最小的两个节点,将新节点添加到List集合中。创建哈夫曼树结构类: 1 public static class Node imp...
分类:
其他好文 时间:
2014-07-11 10:24:19
阅读次数:
144
理解了Trie树然后就能1A 其实估计这个题随便做做就能A掉,可能不需要高级数据。
先贴吉林大学的代码模板
/*==================================================*| Trie树(k叉)
| INIT: init();
| 注: tree[i][tk]>0时表示单词存在, 当然也可赋予它更多含义;
\*=================...
分类:
其他好文 时间:
2014-07-03 13:42:21
阅读次数:
201
哈夫曼算法原理Wikipedia上面说的非常清楚了,这里我就不再赘述,直接贴过来了。1952年, David A. Huffman提出了一个不同的算法,这个算法能够为不论什么的可能性提供出一个理想的树。香农-范诺编码(Shanno-Fano)是从树的根节点到叶子节点所进行的的编码,哈夫曼编码算法却是...
分类:
其他好文 时间:
2014-07-02 10:37:36
阅读次数:
362
基本枚举、贪心、递归、分治、递推、模拟STL(pair、vector、set、map、queue、string、algorithm)构造、位运算、常数优化数据结构队列、堆、栈、链表排序(插入、冒泡、快速、归并、堆、桶、基数)二分查找、散列表并查集、哈夫曼树排序二叉树、左偏树、平衡树(Splay/Tr...
分类:
其他好文 时间:
2014-07-01 19:09:02
阅读次数:
193
#include
#include
#include
typedef struct{
char a;//记录对应字符
int weight;//权值
int parent,lchild,rchild;
}HTNode,*HuffmanTree;
typedef char * *HuffmanCode;//动态分配数组存储哈夫曼编码表
void Select(H...
分类:
其他好文 时间:
2014-06-30 19:21:16
阅读次数:
205