Thủ tục:duyệt đồ thị theo chiều rộng BFS
void BFS(G,v)
{ Init Q(Q);
visit(v);
visited[v] = 1; //nếu v đã được thăm thì đẩy nó vào q
Insert Q(Q,v);
while (!=Empty Q(Q))
{ v = Delete Q(Q);
for các đỉnh w là đỉnh kề của v
if (visited[w] = 0)
{ visit(w);
visited[w] = 1;
Insert Q(Q,w);}
}
}
================================================
code
Chúc bạn thành công nha!void mgraph::BFS(int v1)
{
int visited[100];
int v;
Queue Q;
for(int i=1;i<=V;i++)
visited[i]=0;
visited[v1]=1;
Creat(Q,V);
Push(Q,v1);
cout<<"Ket qua duyet do thi\n"<<v1;
while(!Empty(Q))
{
v=Pop(Q);
for(int i=1;i<=V;i++)
if(g[v][i]!=0&&visited[i]==0)
{
Push(Q,i);
visited[i]=1;
cout<<" "<<i;
}
}