bfs

Posted hhyx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bfs相关的知识,希望对你有一定的参考价值。

1)只有在访问完成第i层节点后,才会访问第i+1层节点
2)任意时刻队列中最多有两个层次的节点
3)以上两点即两段性和单调性
4)复杂度是O(n+m)

 1 void bfs(){
 2    memset(d,0,sizeof d);//d即节点在树中的深度
 3    queue<int>q;
 4    q.push(1);
 5    d[1]=1;
 6    while(q.size()>1){
 7       int x=q.front();
 8       q.pop();
 9       for(int i=head[x];i;i=next[i]){
10          int y=ver[i];
11          if(d[y]) continue;
12          d[y]=d[x]+1;
13          q.push(y);
14       }
15    }
16 }

 

以上是关于bfs的主要内容,如果未能解决你的问题,请参考以下文章

我不明白这个 bfs 算法代码

BFS广度遍历代码模板

我的 C++ 程序中的一些代码使程序崩溃。我正在实现 BFS 算法

bfs题目代码

LeetCode207.课程表 | BFS DFS 邻接表 邻接矩阵

LeetCode207.课程表 | BFS DFS 邻接表 邻接矩阵