本文主要是介绍邻接矩阵图的dfs和bfs,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
int G[maxn][maxn];
int n; //点数
int m; //边数
int vis[maxn];
void init()
{memset(G,0,sizeof(G));memset(vis,0,sizeof(vis));for(int i=0; i<m; i++){int u,v;scanf("%d%d",&u,&v);G[u][v] = 1;}
}void dfs(int u)
{vis[u] = 1;printf("%d",u);for(int i=1; i<=n; i++)if(G[u][i] && !vis[i])dfs(i);
}void bfs(int u)
{queue <int> Q;vis[u] = 1;Q.push(u);while(!Q.empty()){int v = Q.front();Q.pop();printf("%d ",v);for(int i=1; i<=n; i++)if(G[v][i] && !vis[i]){vis[i] = 1;Q.push(i);}}
}
这篇关于邻接矩阵图的dfs和bfs的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!