码迷,mamicode.com
首页 > 其他好文 > 详细

BFS

时间:2019-06-07 22:54:33      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:队列   进入   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在搜索树中所有的子节点都压入队列
}

效率较高,适用于找一条最快到达目标状态的路径。

BFS

标签:队列   进入   temp   continue   目标   empty   style   子节点   节点   

原文地址:https://www.cnblogs.com/TYXmax/p/10989359.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!