浅谈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的主要内容,如果未能解决你的问题,请参考以下文章