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的主要内容,如果未能解决你的问题,请参考以下文章
我的 C++ 程序中的一些代码使程序崩溃。我正在实现 BFS 算法