算法与程序设计:回溯法
Posted Abro.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法与程序设计:回溯法相关的知识,希望对你有一定的参考价值。
目录
背景
一、概念
回溯法有“通用解题法”之称,用它可以系统地搜索问题的所有解。回溯法是一个既带有系统性又带有跳跃性的搜索算法。它在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。算法搜索至解空间树的任一结点时,先判断该结点是否包含问题的解。如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层向其祖先结点回溯;否则,进入该子树,继续按深度优先策略搜索。回溯法求问题的所有解时,要回溯到根,且根结点的所有子树都被搜索遍才结束。回溯法求问题的一个解时,只要搜索到问题的一个解就可结束。这种以深度优先方式系统搜索问题解的算法称为回溯法,它适用于求解组合数较大的问题。
1.1 回溯法的算法框架
- 问题的解空间
- 回溯法的基本思想
- 递归回溯
- 迭代回溯
- 子集树和排列树
1.2 详解说明
二、举例
2.1 批作业调度问题
再举一例:
2.2 装载问题
算法与程序设计的复习嘻嘻嘻蟹蟹٩('ω')و
以上是关于算法与程序设计:回溯法的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode练习(Python):回溯算法类:第211题:添加与搜索单词 - 数据结构设计:设计一个支持以下两种操作的数据结构: void addWord(word) bool search(w