美文网首页
算法理论 | 回溯法

算法理论 | 回溯法

作者: icebreakeros | 来源:发表于2019-08-03 20:00 被阅读0次

回溯法

回溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”

回溯法就是对隐式图的深度优先搜索算法

基本思路

回溯法在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。算法搜索至解空间树的任意一点时,先判断该结点是否包含问题的解。如果肯定不包含(剪枝过程),则跳过对该结点为根的子树的搜索,逐层向其祖先结点回溯;否则,进入该子树,继续按深度优先策略搜索

回溯法 = 穷举 + 剪枝

框架

针对所给问题,定义问题的解空间
确定易于搜索的解空间结构
以深度优先方式搜索解空间,并在搜索过程中用剪枝函数避免无效搜索

实例

路径是否包含指定字符串问题
机器人的运动范围问题

相关文章

  • 算法理论 | 回溯法

    回溯法 回溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并...

  • 回溯法与分支限界法

    回溯法与分支限界法 时间 2016-03-24 标签 搜索 回溯法 1、概念 回溯算法实际上一个类似枚举的搜索尝...

  • 算法08-回溯法:面试最常见问题

    算法08-回溯法:面试最常见问题 一、介绍 回溯法(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜...

  • 八皇后问题

    回溯算法 回溯法又称试探法,回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已...

  • 高级算法设计与分析

    目录 算法基础 算法复杂性 递归与分治 回溯法与分支限界法 贪心算法 动态规划法 NP问题 概率算法 现代优化算法...

  • 深度优先搜索做题笔记_待整理

    回溯法:彻头彻尾的理解回溯算法 一、拆分回文串 Palindrome Partitioning 求解多个结果,用D...

  • 算法学习(递归和回溯)

    回溯法 LeetCode 17 电话的字母组合,方法:回溯算法 LeetCode 93 复原IP地址(练习)完...

  • 回溯算法

    回溯算法 回溯算法介绍   回溯算法并不是非常复杂的算法, 很多人接触过但是未必知道这是回溯算法; 典型的回溯算法...

  • 算法思想 - 回溯法

    1,回溯法 1)遵循深度优先搜索法,类似枚举的试探法,在搜索过程中寻找问题的解,发现不满足时,就回溯,后退一步,满...

  • 算法(11):回溯法

    今天补一下回溯法,别的不说,n皇后问题必须列出来才行~ 目录:算法:附录算法(1):递归算法(2):链表算法(3)...

网友评论

      本文标题:算法理论 | 回溯法

      本文链接:https://www.haomeiwen.com/subject/xevkdctx.html