DFS(深度优先遍历搜索解析)
来源:互联网 发布:网络药店排名 编辑:程序博客网 时间:2024/05/19 19:13
深度优先搜索思想
深度优先搜索遍历类似于树的先序遍历。假定给定图G的初态是所有顶点均未被访问过,在G中任选一个顶点i作为遍历的初始点,则深度优先搜索递归调用包含以下操作:
(1)访问搜索到的未被访问的邻接点;
(2)将此顶点的visited数组元素值置1;
(3)搜索该顶点的未被访问的邻接点,若该邻接点存在,则从此邻接点开始进行同样的访问和搜索。
深度优先搜索DFS可描述为:
(1)访问v0顶点;
(2)置visited[v0]=1;
(3)搜索v0未被访问的邻接点w,若存在邻接点w,则DFS(w)。
实例:
图中可能存在回路,且图的任一顶点都可能与其它顶点相通,在访问完某个顶点之后可能会沿着某些边又回到了曾经访问过的顶点。为了避免重复访问,可设置一个标志顶点是否被访问过的辅助数组visited [ ],它的初始状态为0,在图的遍历过程中,一旦某一个顶点i被访问,就立即让visited [i]为1,防止它被多次访问。
下面来看几个实例,运用深搜解题:
杭电ACM2102A计划解救公主问题
杭电ACM1016素数圈问题
倒油问题
0 0
- DFS(深度优先遍历搜索解析)
- 深度优先遍历(搜索)(DFS)
- DFS深度优先搜索遍历
- DFS(深度优先搜索)解析
- 【算法导论】图的深度优先搜索遍历(DFS)
- 深度优先搜索遍历(DFS)——邻接矩阵存储
- 图的遍历---深度优先搜索(DFS)
- 深度优先搜索——DFS遍历
- 深度优先搜索 (DFS)
- 深度优先搜索(DFS)
- 深度优先搜索(DFS)
- DFS(深度优先搜索)
- 深度优先搜索(dfs)
- DFS(深度优先搜索)
- 深度优先搜索 (DFS)
- 深度优先搜索(DFS)
- 深度优先搜索(dfs)
- 深度优先搜索(dfs)
- 使用Jmeter进行Web站点性能测试实例
- PAT-Be Unique (20)
- 数据结构之“Ordered List and Sorted List”(七)
- 8A大功率直流稳压电源设计
- 三角剖分算法(delaunay)
- DFS(深度优先遍历搜索解析)
- POJ-1321-棋盘问题
- fgets()和fputs()的使用
- 指针直接指向给定地址
- JavaEE(一)---Web服务编程,REST 与 SOAP
- 关于架构的理解
- Java集合类详解
- 如何有效去掉分割线(UITableViewCellSeparatorView),并或控制单条分割线
- JMS是什么?