BFS(广度优先搜索)
BFS遍历方式演示
广度优先搜索就是从图中的某个顶点出发,寻找紧邻的、尚未访问的顶点,找到多少就访问多少,然后分别从找到的这些顶点出发,继续寻找紧邻的、尚未访问的顶点,直到图中所有顶点都被访问,广度优先搜索算法才会结束执行。
与DFS(深度优先搜索)的计算量都非常大,耗时比较严重
以下为主要代码
queue<int> q;
st[1] = true;
q.push(1);
while (q.size())
{
int t = q.front();
q.pop();
for (int i = h[t]; i != -1; i = ne[i])
{
int j = e[i];
if (!st[j])
{
st[j] = true;
q.push(j);
}
}
}