• 回溯算法


    树和图的深度优先,广度优先遍历所使用的也是回溯法,在动态规划中采用暴力递归解决01背包问题时候也归位回溯法。

    回溯法核心思想:

      回溯法的基本思想就是在问题的解空间(问题所有备选解所组成的集合)中不断的尝试,如果发现无法尝试就回退到上一步继续尝试直到找到问题的解为止。

      

      迷宫问题:站在迷宫入口,要走出迷宫。最容易想到的就是不断的尝试,先选择一条路走做好标记然后一直走下去,那么会有三种结果,1.顺利走出去 2.进入了思路 3.走到之前有标记的路。

      问题2和3 可以使用相同的方法去处理,那就是退回到前一个路口去,然后寻找下一条路继续走,如果退回到前一个路口发现所有的可能性都尝试了一遍了,那么这时候就退回到更前一个路口,这样一直不停的尝试,如果这个迷宫有解,就一定能找到出口的路线。

    上图路线:

      走到12发现12和13是不通的,那么就退回到8,8和9是相通的。

  • 相关阅读:
    HDU 5213 分块 容斥
    HDU 2298 三分
    HDU 5144 三分
    HDU 5145 分块 莫队
    HDU 3938 并查集
    HDU 3926 并查集 图同构简单判断 STL
    POJ 2431 优先队列
    HDU 1811 拓扑排序 并查集
    HDU 2685 GCD推导
    HDU 4496 并查集 逆向思维
  • 原文地址:https://www.cnblogs.com/songgj/p/10851322.html
Copyright © 2020-2023  润新知