码迷,mamicode.com
首页 > 编程语言 > 详细

数据结构 - 图的深度优先遍历(C++)

时间:2018-12-17 14:47:04      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:graph   ted   递归   title   cti   word   第一个   .net   tle   


Boolean visited[MAX_VERTEX_NUM]; //访问标志数组。
Status (*VisitFunc)(int v); //VisitFunc是访问函数,对图的每个顶点调用该函数。

void DFSTraverse (Graph G, Status(*Visit)(int v)) //图的深度优先遍历。
{
    VisitFunc = Visit;
    for(v=0; v<G.vexnum; ++v)
        visited[v] = FALSE; //访问标志数组初始化。
    for(v=0; v<G.vexnum; ++v)
        if(!visited[v])
            DFS(G, v); //对尚未访问的顶点调用DFS。
}

void DFS(Graph G, int v) //从第v个顶点出发递归地深度优先遍历图G。
{
    visited[v]=TRUE;
    VisitFunc(v); //访问第v个顶点。
    for(w=FirstAdjVex(G,v); w>=0; w=NextAdjVex(G,v,w))
    //FirstAdjVex返回v的第一个邻接顶点,若顶点在G中没有邻接顶点,则返回空(0)。
    //若w是v的邻接顶点,NextAdjVex返回v的(相对于w的)下一个邻接顶点。
    //若w是v的最后一个邻接点,则返回空(0)。
        if(!visited[w])
            DFS(G, w); //对v的尚未访问的邻接顶点w调用DFS。
}

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net

数据结构 - 图的深度优先遍历(C++)

标签:graph   ted   递归   title   cti   word   第一个   .net   tle   

原文地址:https://www.cnblogs.com/kwincaq/p/10130468.html

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