哈夫曼编码应该算数据结构“树”这一章最重要的一个问题了,当时大一下学期学的时候没弄懂,一年后现在算是明白了。 首先,讲讲思路。 正好这学期在学算法,这里面就用到了贪心算法,刚好练练手。 整个问题有几个关键点: 1,首先是要思考怎么样存下从txt中读取的一个所有字符中每种字符出现的次数,首先想到的应该 ...
分类:
其他好文 时间:
2017-04-05 22:04:34
阅读次数:
265
Huffman编码用来解决最小二叉树问题... 用堆来维护,所用用优先队列(稍微修改一下放入方式)每次将两个权值最小的取出来,然后把他们的和再放进去,重复这个操作就可以解决了 ...
分类:
其他好文 时间:
2017-03-16 21:46:59
阅读次数:
164
描述 农夫约翰想要修篱墙,他需要N块木板,第i块板长Li。然后他买了一块很长的板子,足够他分成N块。忽略每次锯板子带来的损失。 约翰忘记买锯子了,于是像Don借。Don要收费,每次锯一下,就要收一次板子长度的钱。Don让约翰自己选择锯的方案。 求问约翰最少要花多少钱。 思路 类似Huffman编码的 ...
分类:
其他好文 时间:
2017-03-08 14:49:36
阅读次数:
171
题意:有n(n <= 5000)个数的集合S,每次可以从S中删除两个数,然后把它们的和放回集合,直到剩下一个数。每次操作的开销等于删除的两个数之和,求最小总开销。所有数均小于10^5。 分析:按此操作,最终变成1个数,需要n-1次操作,要想总开销最小,就使每次取出的两数之和最小,优先队列。 ...
分类:
其他好文 时间:
2017-02-06 19:32:49
阅读次数:
208
一款基于哈夫曼编码和最小堆的无损压缩、解压缩小程序,支持任何格式文件的压缩解压缩,代码已开源至github,具体地址请看正文前言部分 ...
分类:
其他好文 时间:
2017-01-17 23:21:58
阅读次数:
344
文件压缩与解压缩>
最近这段时间一直在学习树的这种数据结构,也接触到了Huffman树以及了解了什仫是Huffman编码,而我们常用的zip压缩也是利用的Huffman编码的特性,那仫是不是...
分类:
其他好文 时间:
2016-11-05 00:18:12
阅读次数:
381
题意:有N个数,每次选2个数合并为1个数,操作的开销就是这个新的数。直到只剩下1个数,问最小总开销。 解法:合并的操作可以转化为二叉树上的操作【建模】,每次选两棵根树合并成一棵新树,新树的根权值等于两棵合并前树的根权值和(也与Huffman编码的建立过程类似,选权值最小的两棵树)。 这样总开销就是除 ...
分类:
编程语言 时间:
2016-11-01 09:44:38
阅读次数:
189
参考:http://blog.csdn.net/sunmenggmail/article/details/7598012 笔试时遇到的一道题。 ...
分类:
编程语言 时间:
2016-09-24 10:30:39
阅读次数:
113