堆优先队列:特殊的”队列”,取出元素的顺序是依照元素的优先权(关键字)大小,而不是元素进入队列的先后顺序
堆是优先队列的完全二叉树表示。
堆的两个特性:
①结构性:用数组表示的完全二叉树
②有序性:任意结点的关键字是其子树所有结点的最大值,叫最大堆(或最小值,叫最小堆)(注意从根结点到任意结点路径上结点序列的有序性)下面举一个最大堆的例子。
/** 最大堆的操作 */
typedef st...
分类:
编程语言 时间:
2015-02-17 22:21:37
阅读次数:
231
给定一个弦图,问最少染色数。对于弦图的一个完美消去序列,从后往前染色,每次染可以染的最小编号的颜色,由完美消去序列的定义,序列任一后缀的点的导出子图中,由该后缀第一个元素及其邻接点导出的子图一定是完全图,所以,序列中某一元素染的颜色编号是该完全图的大小。所以最小染色数小于等于最大团的点数,而显然前者...
分类:
其他好文 时间:
2015-02-17 22:17:19
阅读次数:
245
题目大意有N座山组成一个环,两座山互相能看到的要求是相连的圆弧上没有任何其他的山高度比它们高。求能看到的山的组数。解题思路首先要拆环成链,将山的序列改变,第一座山是最高的山。
其次是统计对于这个序列的L数组和...
分类:
其他好文 时间:
2015-02-17 21:04:08
阅读次数:
154
描述:有一个分数序列 2/1,3/2,5/3,8/5,13/8,21/13,.... 求这个分数序列的前n项之和。输入输入有一行:正整数n。输出输出有一行:分数序列的和(浮点数,精确到小数点后4位)。可以printf("%.4lf\n", a)输出浮点数并精确到小数点后4位。样例输入99样例输出16...
分类:
其他好文 时间:
2015-02-17 20:59:28
阅读次数:
179
一些定义:弦图是一种特殊图:它的所有极小环都只有3个顶点。单纯点:该顶点与其邻接点在原图中的导出子图是一个完全图。图G的完美消去序列:一个顶点序列a1a2a3...an,使得对于每个元素ai,ai在ai、ai+1、ai+2...an的导出子图中是一个单纯点。弦图有一个性质:任何一个弦图都至少存在一个...
分类:
其他好文 时间:
2015-02-17 19:54:15
阅读次数:
241
13.4.1 读取值我们要做的第一件事,是从 XML 中读取感兴趣的数据。我们要写一个函数,它的参数是 XDocument 对象的列表(用于数据集的每个页面),返回的序列中,每个元素包含了指标、 地区名,年份,当年的测量值。
清单 13.14 展示了 readValues 函数的形式,以及从 XML 节点中读数据的工具函数,表示一条记录。两个函数有一个名为 parse 的参数,这是一个函数,用来解...
分类:
其他好文 时间:
2015-02-17 17:39:45
阅读次数:
207
#include
#include
#include
typedef struct BiTNode{
char e;
struct BiTNode *lchild,*rchild;
}BiTNode;
void preOrderTravse(BiTNode *T1){
if(T1){
printf("%c",T1->e);
preOrde...
分类:
其他好文 时间:
2015-02-17 15:22:11
阅读次数:
223
之前没不知道这个数列。一个purfer序列与一棵树一一对应。长度为n的purfer的集合:A = {s | s is a sequence and a∈[1,len(s)+2]一个直接的结论就是:n个带标记的节点的树有nn-2种。这道题有了上面的对应,可以计算满足要求的purfer序列的个数,用组合...
分类:
其他好文 时间:
2015-02-17 14:02:16
阅读次数:
414
动态规划的基本思想:将一个问题分解为子问题递归求解,且将中间结果保存以避免反复计算。通经常使用来求最优解,且最优解的局部也是最优的。求解过程产生多个决策序列,下一步总是依赖上一步的结果,自底向上的求解。动态规划算法可分解成从先到后的4个步骤:1. 描写叙述一个最优解的结构,寻找子问题,对问题进行划分...
分类:
其他好文 时间:
2015-02-17 12:48:58
阅读次数:
159