非递归DFS

来源:互联网 发布:macbook pro windows 编辑:程序博客网 时间:2024/06/07 17:35

算法思想:

        在深度游仙搜索中使用一个栈S,记忆下一步可能访问的顶点,同时使用一个访问编辑数组visited[i],在visited[i]中记忆第i个顶点是否在栈内

void DFS_Non_RC(AGraph &G, int v){int w;InitStack(S);for(i = 0;i < G.vexnum; i++)visited[i] = True;Push(S, v);visited[v] = True;while(!Empty(S)){k = Pop(S);visit(k);for(w = FirstNeighbor(G, v); w >0; w = NextNeighbor(G, v, w)){if(!visited[w]){Push(S, w);visited[w] = True;}}}}



0 0
原创粉丝点击