所以这是我正在使用的算法,我想知道我在使用BFS的深度级别
void bfs(int n)
{
vis[n]=1; //marks n visited
d=0;
while(!adj[n].empty()) //adj is the array containing the adjacency lists
{if( !(vis[adj[n].front()]))
{
q.push(adj[n].front()); //q is the queue
}
adj[n].pop_front();
}
if(!q.empty()){
n=q.front();
cout<<n<< "->";
q.pop();
bfs(n);
}
}
我能做什么?
最佳答案
为了知道您现在的深度,应该考虑添加其他阵列深度。
深度大小等于图形中的顶点数,并且包含每个顶点的深度(从开始BFS的顶点开始计算)。当穿越父母的孩子时,您应该放
深度[孩子] =深度[父母] +1
关于c++ - 我如何知道我在使用BFS(宽度优先搜索)的搜索级别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38591921/