递归 回溯 备忘录 动态规划 迭代 贪心 深度优先搜索DFS辨析

本文详细介绍了几种常见的搜索和优化算法:回溯法,包括递归回溯和迭代回溯,动态规划强调自下而上解决问题并避免局部最优,递归作为实现深度优先搜索的手段,以及分治法和贪心算法的基本思想和应用场景。这些算法在解决复杂问题时各有优势,理解其工作原理对于优化问题求解至关重要。
摘要由CSDN通过智能技术生成

1.回溯法

回溯算法解题套路框架
有通用解题法之称,它可以系统的搜索一个问题的所有解或者任意解。它在问题的解空间树中,按深度优先策略从根节点出发搜索解空间树,算法搜索至解空间树的任意一个结点时,先判断该节点(如子树)是否包含问题的解,如果肯定不包含,则跳过对其子树的搜索,逐层向其根节点回溯。否则,则按照深度优先的策略搜索子树。当回溯到根,且根节点的所有子树都已被搜索遍才结束。这种以深度优先方式系统搜索问题解的算法称为回溯法,适用于解决组合数较大的问题。

回溯法搜索解空间树时,通常采用两种策略避免无效搜索,一种是用约束函数法在节点处剪去不符合要求的子树;第二种是用界限函数剪去得不到最有解的子树。
回溯法一般有两种实现方式,分别是递归回溯和迭代回溯。
回溯算法框架

result = []
def backtrack(路径, 选择列表
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值