链式前向星模板

什么是链式前向星

链式前向星实际上是储存邻接表的一种数据结构。
跟vectorg[maxn]用途一样。
那为什么不直接用vectorg[maxn]呢?
在有些时候,用vectorg[maxn]会造成超时(使用stl普遍比较耗时)。
这时候,就可以用链式前向星。

链式前向星模板

int tot; //存储的边数(初始化为0)
int head[maxn]; //head[i]存储结点i的第一条边(初始化为-1)

struct edge{
	int nextt; //下条边的编号
	int to;  //这条边到达的点
	int wei; //这条边的权
}edges[maxn];

void addedge(int u,int v,int wei){   //添加边
	edges[tot].nextt=head[u]; 
	edge[tot].to=v;//将to记录 
	edge[tot].wei=wei;//将dis记录 
	head[u]=tot;
	tot++;
}

for(int x=head[u];x!=-1;x=edges[x].nextt)  //如何遍历链式前向星

习题

1.ZOJ - 3997
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3997

如有错误,欢迎指正

你可能感兴趣的:(图论算法)