美文网首页
深度优先搜索(Depth-First-Search)

深度优先搜索(Depth-First-Search)

作者: Poemrain | 来源:发表于2017-10-19 00:14 被阅读0次

    void DFSTraverse(Graph G){

    //对图G进行深度优先遍历,访问函数为visit()

    for (v=0;v<G.vexnum;++v)

    visited[v] = FALSE;

    //初始化已访问标记数据

    for (v=0;v<G.vexnum;++v)

    //本代码中是从v=0开始遍历

    if(!visited[v])

    DFS(G,v);

    }

    void DFS(Graph G,int v){

    //从顶点v出发,采用递归思想,深度优先遍历图G

    visit(v);

    //访问顶点v

    visited[v] = TRUE;

    //设已访问标记

    for(w=FirstNeighbor(G,v);w>=0;w=NextNeighbor(G,v,w))

    if(!visited[w]){

    //w为u的尚未访问的邻接顶点

    DFS(G,w);

    }

    }

    相关文章

      网友评论

          本文标题:深度优先搜索(Depth-First-Search)

          本文链接:https://www.haomeiwen.com/subject/fxpyuxtx.html