回溯法基础知识

一、回溯法基础知识

(一)基本思想

回溯法基本思想是:从初始状态出发,搜索其所能到达的所有“状态”;当一条路走到尽头,再后退一步或若干步,从另外一种状态出发,继续搜索,直到所有路径都搜索过。这种不断前进、不断回溯寻找解的方法叫回溯法。

(二)重点与难点

1.回溯法通常将问题解空间组织成“树”结构,采用系统的方法搜索解空间树,从而得到问题解。

2.搜索策略:深度优先为主,也可以采用广度优先、函数有限、广度深度结合等。

3.避免无效搜索策略:
(1)约束函数:在扩展结点处剪去不满足约束条件的子树
(2)界限函数:在扩展结点处剪去得不到最优解的子树

(三)回溯法适用条件

1.回溯法适用条件:搜索问题和优化问题

2.必要条件:多米诺性质

(四)子集树和排列树 

二、回溯法解题算法框架

二、回溯法案例分析

(一)货郎担问题递归求解

(二)货郎担问题递归实现

(三)高精度数递归求解

(四)高精度数递归实现

(五)N皇后问题递归求解

(六)N皇后问题迭代求解 

(七)N皇后问题递归实现

三、子集树与排列树

子集树时间复杂度为O(2^n{})

排列树时间复杂度为O(n!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值