社区讨论
BFS
灌水区参与者 5已保存回复 6
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @m65ssuij
- 此快照首次捕获于
- 2025/01/21 09:30 去年
- 此快照最后确认于
- 2025/11/04 11:10 4 个月前
03
一、 队列、广搜(BFS)
待搜索队列 1 2 3 4 5 ……
1.队首元素作为搜索点
2.与搜索点直接相连的点 同时 入队
3.搜索完后队首 (输出) 且出队
4.再以新的队首作为搜索点
5.当时搜索队列为空则完成搜索
大致模板:
CPPint mp[1005],vis[1005];
int n;
queue<int>1;
void bfs(int s) {
q.push(s);
vis[s]=1;
while(!q.empty()){//带搜索队列非空
int v=q.front();//正在搜索的点是V
for(int i=1;i<=m;i++){
if(mp[v][i]!=0 && vis[i]){//如果i与v直接相连就把i入队
q.push(i);
vis[i]=vis[v]+1;//直接得出最短路径
}
}
}
q.pop();
}
此非完整代码!!!!!
仅为函数!!!!!
回复
共 6 条回复,欢迎继续交流。
正在加载回复...