学习要点:1、概念2、基本要素(+与动态规划算法的差异)3、应用范例:(1)活动安排问题(2)最优装载问题(3)哈夫曼编码(4)最优服务次序问题(5)最小生成树(6)最大边权值最小的生成树(7).......1、概念贪心算法总是作出当前看来是最好的选择。也就是说贪心算法并不从整体最优上加以考虑,它所...
分类:
其他好文 时间:
2014-07-22 23:12:53
阅读次数:
413
竟然做过原题,一眼看上去竟然没感觉。。。
哈夫曼树定义:给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。
1、路径和路径长度
在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规...
分类:
其他好文 时间:
2014-07-22 22:59:32
阅读次数:
293
前面分别通过C和C++实现了哈夫曼树,本章给出哈夫曼树的java版本。目录 1.
哈夫曼树的介绍 2. 哈夫曼树的图文解析 3. 哈夫曼树的基本操作 4. 哈夫曼树的完整源码
转载请注明出处:http://www.cnblogs.com/skywang12345/更多内容:数据结构与算法系列 目录....
分类:
编程语言 时间:
2014-05-09 18:13:10
阅读次数:
501
本章介绍哈夫曼树。和以往一样,本文会先对哈夫曼树的理论知识进行简单介绍,然后给出C语言的实现。后续再分别给出C++和Java版本的实现;实现的语言虽不同,但是原理如出一辙,选择其中之一进行了解即可。若文章有错误或不足的地方,请帮忙指出!
目录 1. 哈夫曼树的介绍 2. 哈夫曼树的图文解析 3. 哈...
分类:
编程语言 时间:
2014-05-04 19:07:57
阅读次数:
353
HUFFMAN编码可以很有效的压缩数据,通常可以压缩20%到90%的空间(算法导论)。具体的压缩率取决于数据的特性(词频)。如果采取标准的语料库进行编码,一般可以得到比较满意的编码结果(对不同文件产生不同压缩率的折中方法)。本文采取对单独一个文件进行编码的方式来演示此压缩算法的使用。分为下面几个步骤...
分类:
其他好文 时间:
2014-05-02 00:20:13
阅读次数:
320
算法基础(八):超详细最优二叉树构建(2)求编码...
分类:
其他好文 时间:
2014-04-27 21:34:00
阅读次数:
236