一、算法分析初步 1、渐进时间复杂度 2、上界 3、分治 4、正确对待算法分析结果 二、再谈排序与检索 1、归并排序 2、快速排序 3、二分查找 三、递归与分治 四、贪心 1、背包 2、区间 3、huffman编码 五、算法设计方法 1、构造法 2、中途相遇法 3、问题分解 4、等价转换 5、扫描法 ...
分类:
编程语言 时间:
2017-10-15 11:21:03
阅读次数:
141
1.Huffman树 今天复习Huffman树。依稀记得自己被Huffman树虐的经历。还记得是7月份,我刚开始看数据结构与算法,根本看不懂Huffman树的操作。后来我终于悟出了Huffman树是怎么操作的了,但是被C艹的指针虐:用C艹的CArray存贮结点,但是读出来是空的。这是因为当时使用了“ ...
分类:
其他好文 时间:
2017-10-08 12:59:21
阅读次数:
200
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1053 题目大意:给一个字符串(只包含A-Z和下划线_表示空格),问8bit的ASCII编码和最优编码所需位数,并求比值。 关键思想:先统计权值,前者就是8*长度,后者就是让我们求Huffman编码的带权 ...
分类:
其他好文 时间:
2017-08-26 14:23:25
阅读次数:
171
1. 高度:树T所有节点深度的最大值,节点V对应子树高度为该节点的高度,根节点高度为整棵树的高度 2.深度:节点V到根节点R的唯一路径所经过的数目称为V的深度 3.huffman编码:构造出的带权平均深度最小的二叉树为huffman树(权值越大,深度越小) 4.二叉搜索树:任意节点R的左(右)子树中 ...
分类:
其他好文 时间:
2017-08-09 23:47:04
阅读次数:
221
摘自:http://blog.csdn.net/ghevinn/article/details/45747465 gzip 所使用压缩算法的基本原理gzip 对于要压缩的文件,首先使用LZ77算法的一个变种进行压缩,对得到的结果再使用Huffman编码的方法(实际上gzip根据情况,选择使用静态Hu ...
分类:
编程语言 时间:
2017-07-17 11:19:14
阅读次数:
215
huffman编码中WPL等于没个结点到根结点的距离乘结点权值的总和,但我们也可以用另一种方法求WPL:如果huffman树只有一个结点,则WPL为根结点权值,否则WPL等于除了根结点以外的所有结点的权值之和。 我们可以用优先队列/堆实现这个过程: ...
分类:
其他好文 时间:
2017-07-16 13:34:21
阅读次数:
174
##二分查找## HDU - 1053 很久之前做过的Huffman编码,用优先队列 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<queue> 5 6 using namespace std; 7 8 ...
分类:
其他好文 时间:
2017-07-13 00:47:10
阅读次数:
264
该代码採用二叉树结合双向链表实现了限制长度的最优Huffman编码,本文代码中的权重所有採用整数值表示。http://pan.baidu.com/s/1mgHn8lq 算法原理详见:A fast algorithm for optimal length-limited Huffman codes.p ...
分类:
其他好文 时间:
2017-06-05 14:01:56
阅读次数:
261
基于Dedup的数据打包技术0、引言 Tar, winrar, winzip是最为常见的数据打包工具软件,它们把文件集体封装成一个单独的数据包,从而方便数据的分布、传输、归档以及持久保存等目的。这类工具通常都支持数据压缩技术,从而有效减少数据的存储空间,常用压缩算法有Huffman编码、Z77/z7 ...
分类:
其他好文 时间:
2017-05-07 12:54:45
阅读次数:
297
gzip是一种数据格式,默认且目前仅使用deflate算法压缩data部分;deflate是一种压缩算法,是huffman编码的一种加强。deflate与gzip解压的代码几乎相同,可以合成一块代码。区别仅有:deflate使用inflateInit(),而gzip使用inflateInit2()进 ...
分类:
编程语言 时间:
2017-04-30 14:04:44
阅读次数:
217