题意:n 个有序序列的归并排序.每次可以选择不超过 k 个序列进行合并,合并代价为这些序列的长度和.总的合并代价不能超过T, 问 k最小是多少。 析:首先二分一下这个 k 。然后在给定 k 的情况下,这个代价其实就是 k 叉的哈夫曼树问题。然后用两个队列维护一下就好。 代码如下: ...
分类:
其他好文 时间:
2016-09-18 01:07:02
阅读次数:
162
哈夫曼树与哈夫曼编码 术语: i)路径和路径长度 在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。 路径中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1。 ii)结点的权及带权路径长度 若对树中的每个结点赋给一个有着某种含义的数值,则 ...
分类:
其他好文 时间:
2016-09-17 23:37:06
阅读次数:
272
文件压缩
开发平台:VS2015
开发技术:堆,哈夫曼树
项目描述:
1.统计文件中字符出现的次数,利用数据结构中的堆建造Huffman树,字符出现次数多的编码短,出现次数少的编码长;
2.根据...
分类:
其他好文 时间:
2016-09-08 11:24:18
阅读次数:
249
在一般的数据结构的书中,树的那章后面,著者一般都会介绍一下哈夫曼(HUFFMAN) 树和哈夫曼编码。哈夫曼编码是哈夫曼树的一个应用。哈夫曼编码应用广泛,如 JPEG中就应用了哈夫曼编码。 首先介绍什么是哈夫曼树。哈夫曼树又称最优二叉树, 是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中 ...
分类:
其他好文 时间:
2016-09-07 22:25:57
阅读次数:
219
哈夫曼树。 如果要最大的深度最小,再按h排序即可。 ...
分类:
其他好文 时间:
2016-09-05 21:04:05
阅读次数:
140
1)首先是哈弗曼树的原理:如果有一些结点的权值分别是1,2,3,4,5,6那么它们构建出来的哈弗曼树是什么样子呢?结果如图:思想是每次从数组中取两个当前权值最小的数去创建结点,并作为叶子结点,它们的根节点的权值是两者之和,把它再放回数组,第一次选择1,2;第二次选择..
分类:
其他好文 时间:
2016-08-20 21:59:13
阅读次数:
231
题目:传送门。 题意:中文题。 题解:就是构造一颗哈夫曼树,数据结构里的知识。 ...
分类:
其他好文 时间:
2016-08-12 13:21:12
阅读次数:
95
哈夫曼树原理。 k=2时,和合并果子一样一样的。 由此思考,k>2时,应该也有相似的原理。确实如此,k进制哈夫曼树,每个结点最多会有k-1个子结点,对应k-1个元素(“元素”可以是更深层的子树),也就是说,每有k-1个元素被合并进去,新元素要想加进去,编码就得多一位。 推出算编码位数的方法后,剩下的 ...
分类:
其他好文 时间:
2016-08-10 22:21:12
阅读次数:
180
在一般的数据结构的书中,树的那章后面,著者一般都会介绍一下哈夫曼(HUFFMAN)树和哈夫曼编码。哈夫曼编码是哈夫曼树的一个应用。哈夫曼编码应用广泛,如JPEG中就应用了哈夫曼编码。 首先介绍什么是哈夫曼树。 哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有 ...
分类:
其他好文 时间:
2016-08-08 12:28:32
阅读次数:
246