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

DFS以及BFS的用途以及对比

时间:2018-10-24 20:03:48      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:出现   实现   都差不多   目标   流程   处理   判断   用途   相同   

实现过程中的不同点:

BFS:采用一个队列来控制哪些节点需要访问,以及从上一节点向下一节点转变,多了一个计数器。

DFS:采用递归的思想沿着某一个节点不停的向底下深挖。

相同点:

1 方向表,即(x,y)的四周的方向。

2 状态表,用来判断该节点是否已经访问过了。

3 边界检测,在进行递归或者入队之前必须对边界进行检测,符合条件才能递归或者入队。

4 判断目标,如果出现目标则进行处理。

 

流程:

BFS,DFS的流程大体上都差不多,只不过在上一节点到下一节点的方式上有所区别。

用途:

BFS:找到最小路径(无加权) 例如:组成整数的最小平方数数量

DFS:找到目标 例如:查找最大的连通面积

DFS以及BFS的用途以及对比

标签:出现   实现   都差不多   目标   流程   处理   判断   用途   相同   

原文地址:https://www.cnblogs.com/jihuabai/p/9844843.html

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