图的存储方式

1.邻接矩阵

邻接矩阵的二维数组表示第i个点到第j个点的权值为dis[i][j]。

实现容易,但时空复杂度都比较大,时间复杂度为O(n*n),空间复杂度为O(n*n)。

适合稠密图。

下为代码:

 1 #include<cstdio>
 2 #define N 4200
 3 int vis[N],dis[N][N],n,m,a,b,c;
 4 int dfs(int x){
 5     vis[x]=1;
 6     for(int i=1;i<=n;++i)
 7         if(dis[x][i]==1&&!vis[i])
 8             dfs(i);
 9 }
10 int main(){
11     scanf("%d%d",&n,&m);
12     for(int i=1;i<=m;++i){
13         scanf("%d%d%d",&a,&b,&c);
14         dis[a][b]=c;
15         dis[b][a]=c;
16     }
17     dfs(1);
18     return 0;
19 }

相关文章:

  • 2021-12-15
  • 2022-01-12
  • 2022-01-02
  • 2022-12-23
  • 2021-06-10
  • 2021-06-16
  • 2021-12-19
  • 2022-01-13
猜你喜欢
  • 2021-10-15
  • 2021-06-02
  • 2022-12-23
  • 2022-02-11
  • 2021-08-02
相关资源
相似解决方案