判断一个无向图是否为连通图的方法

2019/7/10 22:28:46

本文主要是介绍判断一个无向图是否为连通图的方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

无向图的连通性

判断一个无向图是否为连通图。输入为无向图的邻接矩阵。

输入

  • 输入有若干行
  • 第一行为正整数N(0<N<=3000),代表图中点的个数
  • 接下来N行,每行有N个数据,每个数据以空格分隔,代表邻接矩阵。

输出

  • 一行。连通yes, 否则no.

测试输入

3
1 1 1
1 1 1
1 1 1

测试输出

yes

源代码

#include<stdio.h> 
#define N 3002 
int a[N][N]; 
int main() 
{ 
  int i,j,k,n; 
  scanf("%d\n",&n); 
  for(i=0;i<n;i++) 
   for(j=0;j<n;j++) 
    scanf("%d",&a[i][j]); 
  for(k=0;k<n;k++) 
    for(i=0;i<n;i++) 
    if(a[k][i]) 
      for(j=0;j<n;j++) 
        if(a[i][k]&&a[k][j]){ 
          a[i][j]=1; 
        } 
  for(i=0;i<n;i++) 
   for(j=0;j<n;j++) 
   { 
    if(a[i][j]+a[j][i]==0){  
      printf("no\n");return 0;}  
   } 
   printf("yes\n");  
 } 

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对找一找教程网的支持。如果你想了解更多相关内容请查看下面相关链接



这篇关于判断一个无向图是否为连通图的方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程