深度优先搜索是一种基于图的方式:
在图中的遍历就是深度和广度遍历,,这是一种算法思想:
深度优先搜索遍历就是找到某一个顶点,一种向下走,能走多远就走多远;
一种策略:只要能发现没走过的点,就走到它。有多个点可走就随便挑一个,如果无路可走就回退,再看有没有没走过的点可走 ;
从起点出发,走过的点要做标记,发现有没走过的点,就随意挑一个往前走,走不 了就回退,此种路径搜索策略就称为“深度优先搜索”,简称“深搜”。
一般的模型:
深度优先搜索的模型:
(1):先判断是不是能在一个连通图上能找到终点(函数bool DFS(V) 其中V是结点);
1.是不是终点(很直接)是就返回true;
2.是不是旧点(这是从上面判断后再做的判断)是就直接返回false;
3.如果1,2步都不满足,就访问这个点(访问之前进行旧点的装换),然后在访问这个点所有的邻近点(再重复1,2步骤);
4.如果所有的连通节点都访问了,还是没有找到终点,表示终点不能再这里的连通图中找到,就返回false;
模型函数:
bool DFS(v)
{
if(v是终点)
return true;
if(v是旧点)