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

广搜和深搜

时间:2019-06-09 12:41:29      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:就是   style   搜索   过程   广搜   data-   深搜   dfs   空间   

深度优先搜索:

dfs,运用递归函数,通过栈的结构进行搜索。

模板:

·dfs(状态) 
–if 状态 是 目标状态then
·dosomething
–else
·for 每个新状态
–if 新状态合法
»dfs(新状态)
·主程序:
·dfs(初始状态)

广度优先搜索:

bfs,运用递归函数,通过队列的方式搜索。

 

dfs就是对于某一个搜索树,通过一定的顺序把每一个枝上的子树全都遍历一遍。。也就类似于从起点出发,先把一个方向的点都遍历完才会改变方向......“不撞南墙不回头”

bfs是遍历某一深度,通过队列的方式存起来,边push边pop,知道队列为空才遍历完。bfs相对于dfs来说运用空间更多。DFS是空间效率高,DFS不需要保存搜索过程中的状态,而BFS在搜索过程中需要保存搜索过的状态,而且一般情况需要一个队列来记录。

 

广搜和深搜

标签:就是   style   搜索   过程   广搜   data-   深搜   dfs   空间   

原文地址:https://www.cnblogs.com/lbssxz/p/10993159.html

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