关于邻接表//原来不知道是啥,现在发现这东西居然是链式前向星
邻接表大致是一个由各个点指向其所连接的点的表。但是我们可以不将点指向点,可以将边保存,用点指向边。
然后再用各个边的标号做一个数组,再用这个数组来记录路径。代码大概长这个样子。
(参考大佬的博客,地址如下https://www.cnblogs.com/ECJTUACM-873284962/p/6905416.html
(再附加两张图


#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+7;
const int maxe=1e6+7;
struct edge{
int to,nxt,val;
}E[2*maxe];
int head[maxn],tot;
void add(int x,int y,int val){
E[++tot].to=y;E[tot].nxt=head[x];E[tot].val=val;
head[x]=tot;
}
int vis[maxn];
void dfs(int x){
vis[x]=1;
for(int i=head[x];i;i=E[i].nxt){
int y=E[i].to;
if(!vis[y])dfs(y);
}
}
int main()
{
system("pause");
return 0;
}

浙公网安备 33010602011771号