//广度优先算法伪代码
boolean visited[MAX_VERTEX_NUM] //设置访问标记数组
void BFSTraverse(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])
BFS(G,i)
}
}
void BFS(Graph G, int v){ //从顶点V出发,广度优先遍历,借助一个辅助队列
visit(v);
visited[v] = TRUE;
EnQueue(Q, v);
while(!Empty(Q)){
Dequeue(Q, v);
for(w = FirstNeighbor(G, v); v > 0; w = NextNeighbor(G, v, w)){
if(!visited[w]){
visit(w);
visited[w] = TRUE;
EnQueue(Q, w);
}
}
}
}
Breadth-First-Search(伪代码)
最新推荐文章于 2025-06-14 20:15:00 发布