频道栏目
首页 > 程序开发 > 综合编程 > 其他综合 > 正文
有向图的深度优先搜索遍历
2013-12-16 11:54:39      个评论    来源:青峰碧陋室  
收藏   我要投稿

在前面的文章中,我已经讨论了无向图的遍历,现在发现在有向图中,可能会发生无法遍历到所有节点的情况。因此在经历一次深度优先搜索遍历后,如果还存在未被搜索到的节点,则需要再从新的节点开始进行深度优先搜索遍历,直到访问完所有节点。

以下面的有向图为例:

\

如果从a开始进行深度优先搜索遍历,则会得到 a b c d h g f 后结束,因此我们还要 从未访问到的节点e进行第二次深度优先搜索遍历得到e.在前面的深度优先搜索的基础上,有向图的深度优先搜索程序实现如下:<喎"/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPjwvcD4KPHA+PC9wPgo8cHJlIGNsYXNzPQ=="brush:java;">#include #include #define N 8 //顶点数 typedef struct node { char vexs[N];//顶点数组 int color[N]; int arcs[N][N];//邻接矩阵 // struct node *p; }graph; void DFS_direction(graph g,int i,int visited[N]) { printf("%c\n",g.vexs[i]); visited[i]=1; for(int j=0;j
注:如果程序出错,可能是使用的开发平台版本不同,请点击如下链接: 解释说明

点击复制链接 与好友分享!回本站首页
相关TAG标签 有向图 深度
上一篇:Unique Binary Search Trees II @LeetCode
下一篇:FZU2132 - LQX的作业(概率论)
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站