图的遍历DFS

来源:互联网 发布:微信摇一摇源码 编辑:程序博客网 时间:2024/05/16 08:01

邻接矩阵版:

int n,G[MAXN][MAXN];bool vis[MAXN];void DFS(int u,int depth){    vis[u]=true;    FOR(v,0,n)    {        if(vis[v]==false&&G[u][v]!=oo){            DFS(v,depth+1);        }    }}void DFSTrave(){    FOR(u,0,n)    {        if(vis[u]==false)        {            DFS(u,1);        }    }}

邻接表:

vector<int> Adj[MAXN];int n;bool vis[MAXN];void DFS(int u,int depth){    vis[u]=true;    FOR(i,0,Adj[u].size())    {        int v=Adj[u][i];        if(vis[v]==false){            DFS(v,depth+1);        }    }}void DFSTrave(){    FOR(u,0,n)    {        if(vis[u]==false)        {            DFS(u,1);        }    }}


0 0