首页 > 其他 > 详细

遍历图

时间:2019-11-15 18:36:05      阅读:91      评论:0      收藏:0      [点我收藏+]
const int N=1e5+10;
vector<int> G[N];
void addedge(int u,int v){
	G[u].push_back(v);
	G[v].push_back(u);
}
int vis[N];
void dfs(int u){
	vis[u]=1;
	for(int i=0;i<G[u].size();i++){
		int v=G[u][i];
		if(vis[v])continue;
		dfs(v);
	}
}

queue<int> Q;
void bfs(int s){
	vis[s]=1;Q.push(s);
	while(!Q.empty()){
		int u=Q.front();Q.pop();
		for(int i=0;i<G[u].size();i++){
			int v=G[u][i];
			if(vis[v])continue;
			vis[v]=1;Q.push(v);
		}
	}
}
!!!!!注意重边和自环

遍历图

原文:https://www.cnblogs.com/zyfltyyz/p/11715417.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!