首页 > 其他 > 详细

DFS思想

时间:2017-07-25 22:06:35      阅读:296      评论:0      收藏:0      [点我收藏+]

深度优先搜索(缩写DFS)是对一个连通图进行遍历的算法。它的思想是从一个顶点V0开始,沿着一条路一直走到底,如果发现不能到达目标解,那就返回到上一个节点,然后从另一条路开始走到底,这种尽量往深处走的概念即是深度优先的概念。

DFS可以用到队列也可不用对列,具体的可以由题目的情况而定;

在对列的使用中,队列提供了一个位置使得在几个方向的前进得以同时进行,也就是说我么在检索的时候,由于我们同时开花,因此在到达我们设定的跳出的条件时,我们就能能够得到最优的那一条路径

要注意的点如下

  • 使用队列,每次执行后,须将队列的首元素山区,这样才可不断的遍历下去;
  • 一般设置两个数组(有时也可一个数组即可)一个char 的Game_map存放地图;一个int的record_way记录当前路线所走过的位置(其他的路线人可以走这个地方);
  • 判断条件一定要清晰且完全;
  • 全局变量的设置和使用,全局变量在完成一次执行时,必需重置或释放;

在不使用对列的情况下,我们就需要用到函数去不断迭代,在这中请况下,我们就不能直接的得到最有的那一条路径,但一般用来寻找可达的地点(虽然第一种也可以,但较为复杂);

要注意的点如下

  • 注意跳出的条件;
  • 全局变量的设置和使用,全局变量在完成一次执行时,必需重置或释放;

DFS思想

原文:http://www.cnblogs.com/7750-13/p/7236692.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!