zoukankan      html  css  js  c++  java
  • YCOJ-DFS

    DFS搜索是搜索中的一种,即深度优先搜索(Depth First Search),其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。

    图示:

    如图,这是邻接矩阵,我们要从s走到e,且“*”不能走,求所有方案。


    首先,从s出发,标记s


    然后通过s只能走到下面一个点,重复几次,我们走到了第一个岔路口。


    这时,我们有两个方向可以走,先向右走。


    现在只能往下走,到达了e,方案数+1,返回。


    现在该处理刚才的的另一种方案,向下走。



    现在只有一个方向走到终点,方案数+1,返回。因为所有能走的点都标记了,结束DFS。

     
    所以图的DFS的操作:
    1. 是找到一个点
    2. 搜索它的所有方向的点
    3. 如果点能走,就在他身上继续DFS(递推

    所以说DFS是一种算法,它也有很多种,如抽象的DFS,无向图的DFS等等,读者们就自己去钻研了吧。

     
  • 相关阅读:
    JSP中<base href="<%=basePath%>">作用
    转 jdk1.5新特性 ConcurrentHashMap
    单例设计模式与类加载顺序详解
    归并排序-java
    插入排序-java
    冒泡排序-java
    选择排序-java
    JS的object数据类型
    JS的事件
    JS的捕捉回车键
  • 原文地址:https://www.cnblogs.com/herobrine-life/p/10993018.html
Copyright © 2011-2022 走看看