把我坑到死的题开始开题以为是全图连通是的最小值 ,以为是最小生成树,然后敲了发现不是,看了下别人的题意,然后懂了;然后发现数据大,要用邻接表就去学了一下邻接表,然后又去学了下优先队列优化的dij;这坑爹的题目我交了10几遍,也不知道错在哪里;后来知道了maxint要#define Maxint 10...
分类:
其他好文 时间:
2015-05-05 10:11:07
阅读次数:
118
先简要列出实现过程中所需要的数据结构。如下图对于这个图而言,它的邻接表可以这样表示,当然表现形式可以多样,这只是我随便画的一种表示方法。顶点表 边表我们把第一个表即上面标着fixedvex的这个表称作顶点表,后边的称为边表。上图所示,边表的结构应该这样写://定...
分类:
其他好文 时间:
2015-05-04 22:03:36
阅读次数:
126
图论图论解题报告索引DFSpoj1321 - 棋盘问题poj1416 - Shredding Companypoj2676 - Sudokupoj2488 - A Knight's Journeypoj1724 - ROADS(邻接表+DFS)BFSpoj3278 - Catch That Cow....
分类:
其他好文 时间:
2015-05-04 21:37:59
阅读次数:
162
给一个图,判断图的最小生成树是否唯一。
End[]记录邻接表尾节点的位置。MST表示最小生成树的大小,SecMST表示次小生成树的大小。#include
#include
#include
#include
using namespace std;
const int MAXN = 1010;
const int MAXM...
分类:
其他好文 时间:
2015-05-03 00:49:11
阅读次数:
187
分别基于邻接表和邻接矩阵,采用优先队列高效实现Dijkstra最短路径算法。
Dijkstra练习题库...
分类:
其他好文 时间:
2015-05-02 16:40:49
阅读次数:
202
1 #include 2 #include 3 #include 4 #define MAX 100010 /*点数*/ 5 int First[MAX]; /*First[x]:x表示头结点为x,First[x]表示下一条边的编号*/ 6 using namespace std; 7 ...
分类:
其他好文 时间:
2015-04-28 17:48:38
阅读次数:
136
1.数组模拟链表实现struct edge{ int u,v,w,next;}a[MAX];int E,u,v,w;E = 0;memset(head,-1,sizeof(head));void add(int u,int v,int w){ a[E].u = u;a[E].v = v;...
分类:
其他好文 时间:
2015-04-28 15:46:26
阅读次数:
146
链接:
关键活动
思路:
1、首先通过队列加邻接表完成拓扑排序:
所有入度为0的节点a入队
在邻接表中找到a的所有后继节点
后继节点入度-1
如果后继节点入度为0
则后继节点入队
2、当图中出现环时则任务调度不可行:
只要判断是否入队n次即可
3、在拓扑排序的过程中用path数组保存所有(关键活动)的前驱节点
最后通过队列和path数组
...
分类:
编程语言 时间:
2015-04-27 15:22:24
阅读次数:
268
题意:根据给出的各个用户之间的亲密度,计算所有异性对的亲密度总和。思路:大数据怕太大,所以用邻接表保存这个无向图,在输入时顺便统计亲密度总和。对于更改性别:统计一下该用户的异性朋友的亲密度总和,再总计一下该用户同性朋友的亲密度总和,两者作差,再更新一下总亲密度。对于更改亲密度:要考虑改为0的情况,就...
分类:
其他好文 时间:
2015-04-26 18:02:37
阅读次数:
127
之前我们介绍过图的邻接矩阵存储法,它的空间和时间复杂度都是N2,现在我来介绍另外一种存储图的方法:邻接表,这样空间和时间复杂度就都是M。对于稀疏图来说,M要远远小于N2。先上数据,如下。45 149 438 125 246 137第一行两个整数n m。n表示顶点个数(顶点编号为1~n),m表示边的条...
分类:
其他好文 时间:
2015-04-23 19:16:17
阅读次数:
218