题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1053讲解: 题意:给定一个字符串,根据哈夫曼编码求出最短长度,并求出比值。 思路:就是哈夫曼编码。把单个字符出现次数作为权值。AC代码: 1 #include 2 #include 3 #inc...
分类:
其他好文 时间:
2014-07-11 21:19:50
阅读次数:
277
二叉堆简介平时所说的堆,若没加任何修饰,一般就是指二叉堆。同二叉树一样,堆也有两个性质,即结构性和堆序性。正如AVL树一样,对堆的以此操作可能破坏者两个性质中的一个,因此,堆的操作必须要到堆的所有性质都被满足时才能终止。结构性质堆是一棵完全填满的二叉树,因为完全二叉树很有规律,所以它可以用一个数组表...
分类:
其他好文 时间:
2014-07-10 11:53:48
阅读次数:
1258
模板
题意:给你一个图,1总是为根,每个边有单位价值,每个点有权重。
每条边的价值 = sum(后继节点权重)*边的单位价值。
求树的最小价值,即构成一棵树的n-1条边的最小价值。
算法:
1、因为每个边的价值都要乘以后来访问的节点的权重,而走到后来访问的点必经过这条边。
实际上总价值就是 到每个点的最短路径*这个点的权重。
2、但是这个题 数据量真的太大了,50000个点...
分类:
其他好文 时间:
2014-07-09 11:33:57
阅读次数:
273
2014.07.04 22:42简介: 给定一个无向带权连通图(三个条件),选出n-1条边将这n个顶点连成一棵树,使得这棵树的权值之和最小。描述: 本次使用Prim算法来解决这个问题。Prim算法的思想是两点:BFS与贪婪。 我们从一个顶点出发,把这个顶点对应的边加入到优先队列中。既然是优先队...
分类:
编程语言 时间:
2014-07-06 16:49:33
阅读次数:
272
学习要点: 1、分支限界法与回溯法 2、分支限界法的剪枝搜索策略 3、分支限界法的算法框架: (1)队列式(FIFO)分支限界法 (2)优先队列式分支限界法 4、应用范例: (1)单源最短路径问题 (2)装置问题 (3)布线问题 (4)0-1背包问题 ...
分类:
其他好文 时间:
2014-07-03 19:32:51
阅读次数:
173
搜索树数据结构支持许多动态集合操作,如search(查找)、minmum(最小元素)、maxmum(最大元素)、predecessor(前驱)、successor(后继)、insert(插入)、delete(删除),这些都是基本操作,可以使用一颗搜索树当做一个字典或者一个优先队列。
12.1、什么事二叉搜索树
二叉搜索树是以一棵二叉树来组织的,可以用一个链表数据结构来表示,也叫二叉...
分类:
其他好文 时间:
2014-07-03 18:02:21
阅读次数:
231
一、什么是优先队列?看一情景:我们去KTV唱歌,点歌的时候,能够发现所点的歌就是一个队列。这时候,一个MM突然不玩手机了想唱歌,于是她来点歌,而且想尽早轮到她。于是她能够选择“插歌”这个功能插到前排队列里。这样的具备能够插入优先权元素的队列,就叫优先队列。可是,这个定义不是严谨的。优先队列的基本模型...
分类:
其他好文 时间:
2014-06-30 22:41:39
阅读次数:
241
学长说现在基本上可以开始学习STL中一些标准模板了,今天先总结一下 队列、栈、优先队列
1、队列(queue)
先进先出原则,头文件#include ,定义结构queue名称;queueq、queueq等;
如:
struct node
{
int x;
}f;
queueq;//结构体类型队列
q.push(f) //将f压入队列的尾部
node t...
分类:
其他好文 时间:
2014-06-28 08:36:49
阅读次数:
162
说明:本文全文转载而来,原文链接:http://www.cppblog.com/wanghaiguang/archive/2012/06/05/177644.htmlC++ Queues(队列)C++队列是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。1.back() 返回一个引用...
分类:
编程语言 时间:
2014-06-27 11:17:33
阅读次数:
345