图论模板详解:存图

图论千万条,存图第一条

1.邻接矩阵

用一个矩阵x[i][j]表示i到j的路径
优点:代码方便,易于去重
缺点:空间复杂度爆炸
优化:二维vector(但是会变慢)

2.链式前向星

图论模板详解:存图_第1张图片
(抄资料毫不掩饰)
感谢zyr大佬的PPT
就是模拟一个链表
优点:便于读取,运行是最快的
缺点,不易排序与去重

链式前向星的代码实现

思路都有了,代码依然不会 自然而然就出来了:

存图

struct node{
	int nxt,to;
	//int w;
}p[2*M];
int cont=-1;
void addline(int x,int y){
	p[++cont]=(node){fi[x],y};
	fi[x]=cont;
}

遍历

for(int i=fi[x];~i;i=p[i].nxt){
		int now=p[i].to;
		想干啥干啥
	}

(注:~i在i==-1时返回0)

3.都有链式前向星了还要什么3

祝大家AK全世界!

你可能感兴趣的:(模板,精华,图论,图论,c++)