//实验要求:
//用邻接表存储一个无向图,
//深度优先,广度优先遍历
//拓扑排序
#include
#include
#include
typedef int status ;
struct ljno //邻接表数据类型
{
int x; //存储数据
ljno* next;
}ss;
struct ALGraph
{
ljno *data ;
int vexnum...
分类:
其他好文 时间:
2014-12-11 20:57:32
阅读次数:
272
#include#include#includestruct node{ int date; struct node *next;}*h[1000],*head[1000];int v[10000],vi[10000];int i,j;int t,n,m,k;void chu(int z...
分类:
其他好文 时间:
2014-12-11 20:41:18
阅读次数:
184
一 定义
拓扑排序是对有向无环图(Directed Acyclic Graph简称DAG)顶点的一种排序,
它使得如果存在一条从顶点A到顶点B的路径,那么在排序中B出现在A的后面。
二 先决条件
能够进行拓扑排序图有两个先决条件:有向、无环,即有向无环图。
三 偏序全序
连通图:任意两点之间都存在至少一条边
偏序:非连通图(有向无环图满足偏序关系)
全序:单连通图
...
分类:
编程语言 时间:
2014-12-08 21:21:59
阅读次数:
279
#include #include #include #include #include #include using namespace std;#define INF 0xffffffff#define maxn 1000005struct Edge{ int w, e;};int Use...
分类:
其他好文 时间:
2014-12-08 21:04:37
阅读次数:
118
题目连接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1333
题意:给你一个n个顶点,m条边(每条边都有三个参数,开放时间,关闭时间,和通过这条边的时间)的有向图;
要你求从s 到 t 的最短路;dijkstra算法可解;
坑点:我用的是队列优化+Vector存储每条边; 在每次调用dijkstra后,必须初始化邻接表,在这个地方坑了好...
分类:
其他好文 时间:
2014-12-08 15:35:11
阅读次数:
150
// 节点结构定义,u表示边的始点,v表示边的尾点, node指向下一个可能的节点 var node = {u : 0, v : 0, node : null}; var top = -1; // 游标指针 var ind = []; // 记录入度数组 // 邻接表 arr = [node, ...] va...
分类:
编程语言 时间:
2014-12-07 19:14:37
阅读次数:
182
邻接矩阵的存储比邻接表实现起来更加方便,也更加容易理解。
邻接矩阵就是用一个二维数组matrix来存储每两个点的关系。如果两个点m,n之间有边,将数组matrix[]m[m]设为1,否则设为0。
如果有权,则将matrix[m]n[]设为权值,定义一个很大或者很小的数(只要不跟权值冲突即可),表示不相连。
空间复杂度为O(V^2),适合比较稠密的图。
邻接表O(V+E),适合比较稀疏的图。...
分类:
编程语言 时间:
2014-12-06 15:25:28
阅读次数:
255
前面实现了链表和树,现在看看图。
链表是一对一的对应关系;
树是一对多的对应关系;
图是多对多的对应关系。
图一般有两种存储方式,邻接表和邻接矩阵。
先看邻接表。
邻接表就是将图中所有的点用一个数组存储起来,并将此作为一个链表的头,
链表中保存跟这个点相邻的点(边点),如果有权值,则在边点中增加一权值字段。
因此,有向图邻接表的空间复杂度为O(v+e),无向图加倍。...
分类:
编程语言 时间:
2014-12-06 12:52:27
阅读次数:
235
这是通过邻接矩阵进行DFS#include
#include
#include
#define Max_ver_num 20
using namespace std ;
bool visit[Max_ver_num] ;//这个数组的用途是标记
struct HGraph{
string vexs [ Max_ver_num ] ; //放每个顶点的数组的名字
int arcs [Ma...
分类:
其他好文 时间:
2014-12-06 08:54:40
阅读次数:
224
邻接表有向图是指通过邻接表表示的有向图。上面的图G2包含了"A,B,C,D,E,F,G"共7个顶点,而且包含了",,,,,,,,"共9条边。上图右边的矩阵是G2在内存中的邻接表示意图。每一个顶点都包含一条链表,该链表记录了"该顶点所对应的出边的另一个顶点的序号"。例如,第1个顶点(顶点B)包含的链表...
分类:
其他好文 时间:
2014-12-05 12:27:55
阅读次数:
197