首页 > 编程知识 正文

dfs算法思想,dfs算法经典应用

时间:2023-05-03 16:47:32 阅读:156792 作者:840

该文阐述了DFS算法DFS算法的中文含义是深度优先搜索算法,是沿着一条路一直递归搜索扫描,是传说中的一条路走到黑。 具体来说,就是沿着树的深度穿越树的节点,尽可能深入地探索树枝。 节点v的所有边都被自己搜索到的情况下,搜索会追溯到发现节点v的边的开始节点。 此过程将持续到找到所有可从源节点访问的节点为止。 如果存在尚未发现的节点,选择其中一个节点作为源节点,重复上述过程,直到所有节点被访问为止。

具体说明深度优先搜索在搜索中访问某个顶点后,需要递归地访问该顶点所有未被访问的相邻顶点。

初始情况下,所有节点均为白色,选择其中一个节点作为起始顶点,然后执行以下步骤遍历:

a .将开始顶点涂成灰色,表示尚未访问

b .从该顶点的相邻顶点中选择一个,继续该过程,直到不再有与该顶点相邻的节点为止,涂黑表示访问过

c .追溯到该涂黑顶点的一个以上的顶点,进而寻找该一个以上的顶点的剩馀的相邻节点,继续以上的操作,当所有的相邻节点访问了下面时,将自己涂黑,再追溯到上一层。

d .在上面的阶层继续这样的操作,知道所有的顶点都被访问了。

可以用图更清楚地表示这个过程:

从顶点1开始深度搜索:

初始状态下,从顶点1依次访问顶点1、2、3后,在顶点3结束并从顶点3追溯到顶点2,接着在顶点5结束并从顶点5追溯到顶点2,在顶点2结束并返回顶点1,在顶点1结束并从顶点4开始,在顶点4结束,

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。