图中 构建边的方式总结(待补充)

原创 2015年11月17日 23:24:46

建立边的方式不同,其所解决的问题也不同,

1.      第一种建边方式为邻接矩阵,最简单的一种,这里就不说明了。

2.      邻接表。

该建边方式比较重要,其用法是通过一个装有MAX个vector<int>容器的数组来实现的,

比如:vector<int> V[MAX];

则V的下标即表示第几个点,比如第一个点,为V[1](也可以是V[0],这个根据自己写代码习惯决定),该容器中push_back进去的int值,即为他能指向的点,这样就在它本身和指向的点连线,构成一条边

3.      边上有属性的情况:这时候只需要把第二种方式中容器中装的int改写为结构体,结构体包含指向的点,和点的属性即可。如代码:

struct edge
{
         int to, cost;//cost即为属性
}
vector <edge> V[MAX];


4.      对于顶点有属性的情况,比如,顶点染色问题

代码:

struct vertex
{
           vector<vertex*>edge
           /*顶点属性*/
}
 
vertex V[MAX];

 而顶点点染色还有种方式,利用第二种方式建边,声明另一个数组,int color[MAX]来表示该点是否染色。

版权声明:虽然为本人原创,但是写得真是渣,想转就转,反正我也不是鸣人。

判断强联通图中每条边是否只在一个环上(hdu3594)

hdu3594 Cactus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth...

PKU1486,ZJU1197:求出二分匹配图中的必须边;

题意:给出几张纸的覆盖范围,和几个标号的坐标,求最多的可以确定这些纸的标号 思路:每张纸作为X部,标号作为Y部,如果标号在纸中,则连一条边,求最大匹配。 检验是否有多重的匹配时,可以枚举删...

HDU 2767--Proving Equivalences【scc缩点构图 && 求向图中最少增加多少条边才可以使新图强连通】

Proving Equivalences Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot...
  • hpuhjh
  • hpuhjh
  • 2015年08月19日 17:35
  • 821

Codeforces 369 D.Directed Roads(数学,判断图中每个环的边数)

题目链接 D. Directed Roads time limit per test 2 seconds memory limit per test 256 megaby...
  • fouzhe
  • fouzhe
  • 2016年09月03日 10:16
  • 242

无向图中的tarjan 算法及其割点、割边

Dfn数组记录搜索到该点的时间。 Low数组是一个标记数组,记录该点所在的强连通子图所在搜索子树的根节点的Dfn值。 以上是有向图的low、dfn定义,实际上无向图与其类似。 在实际运用之前,先...

使用boost graph library计算图中点和边的betweenness

项目中用到的东西,betweenness是社交网络里的概念。基于的思想是betweenness高的点和边在网络中更重要。betweenness具体定义见这里 搜了一下发现boost已经有实现,但是用...

统计Titan图中的点数和边数

图数据库Titan的gremlin shell可以统计点数和边数,但其是单线程的,速度较慢。可以基于MapReduce开发一个统计程序,直接读取HBase中数据表的Snapshot文件,解析出点和边的...

poj 2125 有向图破坏,求拆掉图中所有边的最小代价

对于每个点有两个数in[i],out[i],表示拆掉i的所有入边的代价和拆掉所有出边的代价 对于一条边(u,v)有两种操作可以将其拆掉,要么拆除u的所有出边,要么拆除v的所有入边,两个操作至少要有一...

hdu4612 无向图中任意添加一条边后使桥的数量最少 / 无向图缩点+求树的直径

题意如上,含有重边(重边的话,俩个点就可以构成了边双连通)。 先缩点成树,在求数的直径,最远的连起来,剩下边(桥)的自然最少。这里学习了树的直径求法:第一次选任意起点U,进行bfs,到达最远的一个点...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:图中 构建边的方式总结(待补充)
举报原因:
原因补充:

(最多只允许输入30个字)