猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
用dfs求连通块问题
如题,求教dfs的用法,最好求大佬们详细讲一下dfs的思想谢谢?
0云川0
浏览 1967
回答 2
2回答
慕容3039970
对于无向图来说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); }
0
0
2
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
C
typedef入门问题
1 回答
C++
typedef入门问题
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续