广度优先遍历:
广度优先遍历(BreadthFirstSearch),又称为广度优先搜索,简称BFS。
要实现对图的广度遍历,我们可以利用队列来实现。
cpp
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);
}
}
}
}
}
}
(参考队列)(上述为结构)