邻接表
链式前向星
struct edge {
int next , to , val;
}E[maxn];
int head[maxn],Ecnt;
void init() {
memset(head,-1,sizeof head);
}
void addEdge(int u,int v,int w) {
E[Ecnt] = {
head[u],v,w};
head[u]=Ecnt++;
}
空间复杂度: O ( n + m ) O(n+m) O(n+m)
访问u的邻接点E[head[u]].to
for(int i = head[u] ; ~i ; i = E[i].next) {
int v = E[i].to;
}
访问一个点的任意一个邻接点 O ( 1 ) O(1) O(1)
访问所有点的所有邻接点
for(int u =