浅谈DFS

Posted 算法与编程之美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈DFS相关的知识,希望对你有一定的参考价值。

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

遍历定义:从已给的连通图中某一顶点出发,沿着一些边访遍图中所有的顶点,且每个顶点仅被访问一次,实质:找每个顶点的邻接点的过程

问题

按深度优先写出顶点的访问顺序

方法

1、首先选择一个顶点作为起始顶点(任意一个顶点皆可为起始顶点),为了方便书写,我们选择V1作为起始顶点。

2、然后由V1出发去访问它的任意邻接点,这里V1的邻接点有V2、V3,我们可以任选其一(这里我选择V2)。

3、再由V2出发,访问与V2邻接但还未被访问的顶点,即V4和V5,这里同样可以任选一个邻接顶点(这里我选择V4)。

4、再由V4出发,访问与V4邻接但还未被访问的顶点,但是V4没有下一个邻接顶点,所以这时我们需要退回上一个顶点,V2。

5、再重新由V2出发,访问与V2邻接但未被访问的顶点,所以访问V5(因为V4已经被访问了)

6、右边也是同理。最终访问顺序为:V1→V2→V4→V5→V3→V6→V8→V7

方法:

1)确定访问图中的起始顶点VA,由VA出发,访问它的任意邻接顶点VB;

2)

以上是关于浅谈DFS的主要内容,如果未能解决你的问题,请参考以下文章

蒟蒻浅谈树链剖分之一——两个dfs操作

浅谈搜索

浅谈 DFS(回溯算法)Dijkstra 算法Bellman-Ford 算法

Hdfs分布式文件系统浅谈

浅谈深度优先搜索

算法浅谈——走迷宫问题与广度优先搜索