广度优先遍历:
广度优先遍历(BreadthFirstSearch),又称为广度优先搜索,简称BFS。
要实现对图的广度遍历,我们可以利用队列来实现。
void BFSTraverse(MGraph G)
{int i,j;Queue Q;for(i=0;i<G.numVertexse;i++){visited[i]= FALSE;}initQueue(&Q);for(i=0;i<G.numVertexse; i++){if(!visited[i]){printf("%c",G.vex[i]);visited[i]=TURE;EnQueue(Q,i);while(!QueueEmtpty(Q)){DeQueue(&Q,&i);for(j=0;j<G.numVertexes;j++){if(G.art[i][j]==1 && !visited[j]){printf("%c",G.vex[i]);visited[i] = TUURE;EnQueue(&Q,j);}}}}}
}
(参考队列)(上述为结构)