其他分享
首页 > 其他分享> > 深度优先搜索非递归实现

深度优先搜索非递归实现

作者:互联网

void DFS(AdjList G, int v0) {
    InitStack(&S);
    Push(&S, v0);
    while (!IsEmpty(S)) {
        Pop(&S, &v);
        if (!visited[v])
        {
            visit(v);
            visited[v] = true;
            for (w = FirstNeighbor(G, v); w >= 0; w = NextNeightbor(G, v, w)) {
                if (!visited[w])
                    Push(&S, w);
            }
        }
    }
}

 

标签:优先,AdjList,递归,v0,FirstNeighbor,搜索,Push,visited,NextNeightbor
来源: https://www.cnblogs.com/Lorrained/p/15170111.html