标签:队列 进入 temp continue 目标 empty style 子节点 节点
BFS
一般用来求最少多少步操作,因为离根结点最近的结点会被最先访问,需要利用队列来实现,将当前搜索到的状态的每一种
子状态压如队列,记录之后,检查队列是否为空,如果不为空,就将队首元素弹出,并且以这个状态为根结点进行BFS直到
整个队列为空为止
q.push(head);
void BFS(!q.empty()){
temp=q.front();
q.pop();
if(temp为目标状态) 输出;
if(temp不合法) continue;//进入下一个状态
if(temp合法) q.push(temp+Δ);//表示所有temp在搜索树中所有的子节点都压入队列
}
效率较高,适用于找一条最快到达目标状态的路径。
标签:队列 进入 temp continue 目标 empty style 子节点 节点
原文地址:https://www.cnblogs.com/TYXmax/p/10989359.html