摘要: 对于搜索树分支很多且有明确起点和终点的情况时,可以采用双向搜索来减小搜索树的大小。 对于双向BFS来说,与单向最大的不同是双向BFS需要 按层扩展 ,表示可能到达的区域。而单向BFS则是按照单个节点进行扩展,因为只有当前状态。 代码如下: cpp include using namespace st 阅读全文
posted @ 2018-10-16 21:46 shellpicker 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 普通BFS:每个状态只访问一次,第一次入队时即为该状态对应的最优解。 优先队列BFS:每个状态可能被更新多次,入队多次,但是只会扩展一次,每次出队时即为改状态对应的最优解。 且对于优先队列BFS来说,每次存入队列的不光是像普通BFS的状态,还有当前状态对应的代价,并且是依据最小代价进行扩展。每次状态 阅读全文
posted @ 2018-10-16 20:32 shellpicker 阅读(327) 评论(0) 推荐(0) 编辑