//深度优先搜索
boolean visited[MAX_VERTEX_NUM] //设置访问标记数组
void DFSTraverse(Graph G){
//对图G进行深度优先遍历,设访问函数为visit()
for(i = 0;i < G.vexNum; i++) //访问标记数组初始化
visited[i] = FALSE;
InitQueue(Q); //初始化队列
for(i = 0; i < G.vexNum; i++){
if(!visited[i])
DFS(G,i)
}
}
void DFS(Graph G, int v){
visit(v);
visited[v] = TRUE;
for(w = FirstNeighbor(G,v); w > =; w = NextNeighbor(G, v, w)){
if(!visited[w]){
visit(w);
visited[w] = TRUE;
}
}
}
Depth-First-Search(DFS伪代码)
最新推荐文章于 2023-05-28 10:22:03 发布