码迷,mamicode.com
首页 > 其他好文 > 详细

无向图 邻接矩阵dfs(最简单)

时间:2019-12-01 21:04:58      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:stream   ios   简单   mamicode   矩阵   html   最简   art   mic   

  出处LINK  

 

 技术图片

 

 

改写:去除sum变量;新增结点6,实现遍历全图的算法

输出:索引值

技术图片

 

 1 #include <iostream>
 2 #include <climits>
 3 using namespace std;
 4 #define MAX 10
 5 
 6 int mat[MAX][MAX];
 7 int visited[MAX];
 8 int n=6;
 9 
10 void dfs(int row){
11     cout<<row<<\t;
12     visited[row]=1;
13     for(int i=0; i<n; i++)
14     {
15         if(mat[row][i]==1 && !visited[i]){
16             dfs(i);
17         }
18     }
19     return;
20 }
21 
22 void travelallnodes()
23 {
24     cout<<"travel all nodes :"<<endl;
25     int partnum=1;
26     for(int i=0; i<n; i++){
27         if(!visited[i]){
28             cout<<"part "<<partnum++<<" :"<<endl;
29             dfs(i);
30             cout<<endl<<endl;
31         }
32     }
33     cout<<"---travel all nodes over !"<<endl;
34 }
35 
36 void init(){
37     for(int i=0; i<n; i++)
38         visited[i]=0;
39     for(int i=0; i<n; i++)
40         for(int j=0; j<n; j++)
41             mat[i][j]=INT_MAX;
42     mat[0][1]=1,mat[0][2]=1,mat[0][4]=1;
43     mat[1][0]=1,mat[1][3]=1;
44     mat[2][0]=1,mat[2][4]=1;
45     mat[3][1]=1;
46     mat[4][0]=1,mat[4][2]=1;
47     for(int i=0; i<n; i++)
48         mat[i][i]=0;
49 }
50 
51 int main()
52 {
53     init();
54     travelallnodes();
55 
56     dfs(5);
57     return 0;
58 }

 

 

 

无向图 邻接矩阵dfs(最简单)

标签:stream   ios   简单   mamicode   矩阵   html   最简   art   mic   

原文地址:https://www.cnblogs.com/guoyujiang/p/11967196.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!