1. 图的定义: Graph = (V, E)
表示图由顶点集和边集组成
2. 图的存储结构:常用的主要有 邻接矩阵和邻接表, 还有十字链表和邻接多重表等
邻接矩阵, 如 graph[i][j] = cost , 表示顶点i到顶点j的距离是cost
邻接表 数据结构表示
typedef struct arc
{
int m_adjVertex;
// 邻接顶点的...
分类:
编程语言 时间:
2015-02-07 17:29:25
阅读次数:
266
转载地址:http://blog.csdn.net/acdreamers/article/details/16902023我们首先来看一下什么是前向星.前向星是一种特殊的边集数组,我们把边集数组中的每一条边按照起点从小到大排序,如果起点相同就按照终点从小到大排序,并记录下以某个点为起点的所有边在数组...
分类:
编程语言 时间:
2015-02-03 21:16:27
阅读次数:
222
转自:http://blog.csdn.net/acdreamers/article/details/16902023#comments我们首先来看一下什么是前向星.前向星是一种特殊的边集数组,我们把边集数组中的每一条边按照起点从小到大排序,如果起点相同就按照终点从小到大排序,并记录下以某个点为起点...
分类:
其他好文 时间:
2015-02-01 19:12:34
阅读次数:
176
题目大意:公主要求王子通过第k短的路径去找她。给出了N个点,M条单向边的图。也给出了
起点s(王子所在的点)、终点t(公主所在的点)和k。问:K短路是多少。
思路:第一次做K短路的题目。用的A*+SPFA来做的。下边简单说下这个算法。
使用链式前向星存储图。安装下边步骤来做。
(1)将有向图的所有边正向、反向分别存入两个不同的边集(Edges,Edges1)中。用反向边集,
以所求终点t为源点,利用SPFA或Dijkstra求解出所有点到t的最短路径,用Dist[i]数组来表示点i
到点t的最短距离。
(2...
分类:
其他好文 时间:
2015-01-26 17:06:18
阅读次数:
246
图的结构定义 图是由一个顶点集 V 和一个弧集 E构成的数据结构。 Graph = (V , E ) 其中,E = {| v,w∈V 且 P(v,w)} 表示从 v 到 w 的一条弧,并称 v 为弧尾,w 为弧头。谓词 P(v,w) 定义了弧 的意义或信息。 由顶点集和边集构成的图称作无向图。 如果”弧”是有方向的,则称由顶点集和弧集构成的图为有向图。 邻接矩阵 定义...
分类:
其他好文 时间:
2015-01-14 16:56:54
阅读次数:
238
①图论基础
图由点和边组成
记顶点集合为V 边集合为E的图为G=(V,E)
图可分为有向图和无向图。如表示朋友关系的图为无向图,表示点之间大小关系的图为有向图。
边也可以带有权值,带有权值称为有权图,不带有权值称为 无权图。
一.关于无向图
任意两点之间都有路径的图叫做连通图,顶点连接的边数称为这个点的度。
没有环的连通图就是树,没有环的非连通图就是森林。
一棵树的边数=顶...
分类:
其他好文 时间:
2015-01-13 23:25:54
阅读次数:
598
题目大意:
给你一个无向图,然后一个s,t表示起点和终点,然后输入n,m,s,t,将m条无相边分成L个集合,使得任意一个集合的边被去掉后,都不能从t到达s(或者是s到达t,具体不记得了,但是差不多吧。。。。。),然后要你求出最大的L,然后输出每一个边集。
解题思路:
首先看到要使得不能到达,我想到了网络流,但是后来想想发现,其实很简单。
先以s为起点跑一遍最短路,然后会得到一个di...
分类:
其他好文 时间:
2015-01-13 19:53:41
阅读次数:
151
给定一个带权的无向连通图,怎样选取一棵生成树,使树上全部边上权的总和为最小,这叫最小生成树.求最小生成树的算法(1)克鲁斯卡尔算法图的存贮结构採用边集数组,且权值相等的边在数组中排列次序能够是随意的.该方法对于边相对照较多的不是非常有用,浪费时间.(2)普里姆算法图的存贮结构採用邻接矩阵.此方法是按...
分类:
编程语言 时间:
2015-01-08 13:01:44
阅读次数:
160
题意:规定一棵生成树的苗条度为:最大权值与最小权值之差。给出一个n个顶点m条边的图,求苗条度最小的生成树。分析:按照边的权值排序,枚举边集的连续区间[L, R]的左边界L,如果这些区间刚好满足一个生成树,则存在一个苗条度不超过W[R] - W[L]的生成树。话说,代码中用了STL的vector,慢了...
分类:
其他好文 时间:
2015-01-04 13:16:59
阅读次数:
134
题目大意:给定一个【魞歄连通图】,多次询问当图中某k条边消失时这个图是否联通 强制在线
我们找到这个图的任意一棵生成树 然后对于每条非树边将其的权值赋为一个随机数
对于每条树边 我们将这条树边的权值设为所有覆盖这条树边的边权的异或和
那么图不连通当且仅当删除一条树边和覆盖这条树边的所有边集 而由于刚才的处理一条树边和覆盖这条边的所有边集的异或和为零
于是问题转化成了对于给定的k条边是否存在...
分类:
其他好文 时间:
2014-12-11 15:59:50
阅读次数:
206