五大经典算法

本文介绍了几种常见的算法思想:贪心法注重局部最优选择,但不一定能得到全局最优;动态规划通过解决子问题来构建原问题的最优解,具有最优子结构和子问题重叠特性;分治法将问题拆分为独立子问题求解,如递归方式;回溯法则在搜索过程中遇到无效解时回溯尝试其他路径;分支限界法用于寻找满足条件的解或最优解,通常采用广度优先搜索策略。
摘要由CSDN通过智能技术生成

一、贪心法:

基本思想:在对问题求解时,总是做出在当前看来是最好的选择(不从整体最优上考虑,只做出在某种意义上的局部最优解)。注:贪心算法不是对所有的问题都能求出全局最优解。

重要性质:(1)贪心选择性质:贪心选择性质是指原问题的整体最优解可以通过一些列局部最优的选择得到。(2)最优子结构性质:如果问题的最优解包含其子问题的最优解,称次问题具有最优子结构性质。

二、动态规划法:

基本思想:将待求解的问题分解成若干子问题,先求解子问题,然后从这些子问题中得到原问题的解。用分治法不同的是,适用于动态规划法求解的问题,经分解得到子问题往往不是互相独立的(即下一个子阶段的求解是建立在上一个子阶段的解的基础上,进行进一步的求解)。

特征:(1)最优子结构:最优子结构性质是指问题的最优解包含其子问题的最优解。

(2)子问题重叠:子问题重叠是指在求解子问题的过程中,有大量的子问题是重复的。

(3)无后效性:当前阶段的求解只和前面阶段有关,和后续阶段无关,称为“无后效性”。

三、分治法:

基本思想:与动态规划法类似,将待求解的问题分解成若干子问题,求出子问题的解,合并之后即为原问题的解。不同的是:这些子问题是相互独立的,且与原问题的性质相同。(可用分治法解决的问题常常采用递归的形式求解)。

解题步骤:(1)分解:将要解决的问题分解为若干个规模较小、相互独立、与原问题形式相同的子问题。

(2)治理:求解各个子问题,由于各个子问题与原问题形式相同,只是规模较小而已,而当子问题规划的足够小时,就可以用较简单的方法解决。

(3)合并:按照原问题的要求,将子问题的解合并为原问题的解。

四、回溯法:

基本思想:回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。当搜索到某一步时发现不满足条件,即进行回溯(退回上一步重新进行选择),直到搜索完整个空间。回溯法是对隐式图的深度优先搜索算法

常用剪枝函数:(1)约束函数:对能否得到问题的可行解的约束称为约束函数。

(2)限界函数:对能否得到最优解的约束称为限界函数。

五、分支限界法:

基本思想:求解目标为找出满足约束条件的一个解,或是在满足约束条件的解中找出在某种意义下的最优解,常使用广度优先搜索算法

常用的两种分支限界法:(1)队列式分支限界法

(2)优先队列式分支限界法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NBSW001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值