深度优先搜索(DFS).docVIP

  • 8
  • 0
  • 约 8页
  • 2015-10-17 发布于江苏
  • 举报
深度优先搜索(DFS).doc

深度优先搜索(DFS) 【算法入门】 1.前言 深度优先搜索(缩写DFS)有点类似广度优先搜索,也是对一个连通图进行遍历的算法。它的思想是从一个顶点V0开始,沿着一条路一直走到底,如果发现不能到达目标解,那就返回到上一个节点,然后从另一条路开始走到底,这种尽量往深处走的概念即是深度优先的概念。 你可以跳过第二节先看第三节,:) 2.深度优先搜索VS广度优先搜索 2.1演示深度优先搜索的过程 还是引用上篇文章的样例图,起点仍然是V0,我们修改一下题目意思,只需要让你找出一条V0到V6的道路,而无需最短路。 图2-1 寻找V0到V6的一条路(无需最短路径) 假设按照以下的顺序来搜索: 1.V0-V1-V4,此时到底尽头,仍然到不了V6,于是原路返回到V1去搜索其他路径; 2.返回到V1后既搜索V2,于是搜索路径是V0-V1-V2-V6,,找到目标节点,返回有解。 这样搜索只是2步就到达了,但是如果用BFS的话就需要多几步。 2.2深度与广度的比较 (你可以跳过这一节先看第三节,重点在第三节) 从上一篇《【算法入门】广度/宽度优先搜索(BFS) 》中知道,我们搜索一个图是按照树的层次来搜索的。 我们假设一个节点衍生出来的相邻节点平均的个数是N个,那么当起点开始搜索的时候,队列有一个节点,当起点拿出来后,把它相邻的节点放进去,那么队列就有N个节点,当下一层的搜索中再加入元素到队列的

文档评论(0)

1亿VIP精品文档

相关文档