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

DFS深度搜索的一般思想

时间:2015-07-17 22:34:54      阅读:314      评论:0      收藏:0      [点我收藏+]

标签:

对于无向图来说DFS深度搜索 递归思想

 

//深度优先搜索DFS的一般实现
void DFS(MGraph G,int i)//DFS递归思想
{
    int j;
    visited[i]=TRUE;//设置Node已经被访问
    printf("%c",G.vexs[i]);
    for(j=0;j<numVertexes;j++)//对此Node跟Node2(j)遍历 如果arc[][]==1则表明当前DFS的Node与Node2(j)连通,且满足Node2未被访问的条件下 则对Node2进行DFS
    if(G.arc[i][j]==1&&!visited[j])
    DFS(G,j)
}

void DFSTraverse(MGraph G)
{
    int i;
    for(i=0;i<numvertexes;i++)//将所有Node设置成未访问
    visited[i]==FALSE;
    for(i=0;i<numvertexes;i++)//从头到尾 对每个Node进行DFS调用
    if(!visited[i])//(如果在前面的for循环之中 Node节点已经被访问到 则不进行DFS搜索 )
   DFS(G,i);
}

 

DFS深度搜索的一般思想

标签:

原文地址:http://www.cnblogs.com/anfly/p/4655640.html

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