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

深度优先搜索DFS(二)

时间:2019-02-22 00:56:43      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:常用   size   i++   lse   int   fst   nbsp   顶点   模板   

总结下图里面的常用模板:

 1 DFS(u){
 2     vis[u]=true;
 3     for(从u出发能到达的所有顶点v){
 4         if(vis[v]==false){
 5             DFS(v);
 6         }
 7     }
 8 }
 9 
10 DFSTrave(G){
11     for(G的所有顶点u){
12         if(vis[u]==false){
13             DFS(u);
14         }
15     }
16 }

 

 

1、邻接矩阵版

 1 int n,G[maxv][maxv];  //n为顶点数
 2 bool vis[maxv]={false};
 3 
 4 void DFS(int u,int depth){
 5     vis[u]=true;
 6     for(int v=0;v<n;v++){
 7         if(vis[v]==false){
 8             DFS(v,depth+1);
 9         }
10     }
11 }
12 
13 void DFSTravel(){
14     for(int u=0;u<n;u++){
15         if(vis[u]==false){
16             DFS(u,1);
17         }
18     }
19 }

 

 2、邻接表版

 1 vector<int> Adj[maxv];
 2 int n;
 3 bool vis[maxv]={false};
 4 
 5 void DFS(int u,int depth){
 6     vis[u]=true;
 7     for(int i=0;i<Adj[u].size();i++){
 8         int v=Adj[u][i];
 9         if(vis[v]==false){
10             DFS(v,depth+1);
11         }
12     }
13 }
14 
15 void DFSTravel(){
16     for(int u=0;u<n;u++){
17         if(vis[u]==false){
18             DFS(u,1);
19         }
20     }
21 }

 

深度优先搜索DFS(二)

标签:常用   size   i++   lse   int   fst   nbsp   顶点   模板   

原文地址:https://www.cnblogs.com/Mered1th/p/10415875.html

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