广度优先搜索介绍
广度优先搜索,是一种首先访问所有子节点来搜索的一种算法,过程如下:

如果还不够清楚,那么上一张动图:

广度优先搜索的用处:
1.搜索一个问题的解,尤其是最优解,具体可看(https://www.luogu.com.cn/problem/P1162)等题;
2.用于数和图的遍历;
源码如下:
#include<bits/stdc++.h>
using namespace std;
int cango[10][10],have[10],start;
queue<int>node;
void BFS()
{
while(1)
{
int flag=0;
for(int i=0;i<10;i++)
{
if(cango[node.front][i]&&!have[i])
{
flag=1;
cout<<i;
node.push(i);
}
}
if(flag)
node.pop();
else
break;
}
return;
}
int main()
{
int i,j;
cin>>x;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
cin>>cango[i][j];
cout<<x;
node.push(x);
BFS();
return 0;
}