1.1 贪心算法
在求解过程中,总是做出在当前看来最好的选择,有可能陷入局部最优。
1.2 分治算法
将一个难以解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。
1.3动态规划
将待求解的问题分解为若干子问题(阶段),按顺序求解子阶段,前一个子问题的解,为后一个子问题的求解提供了必要的信息。
与分治算法的主要区别是:经分解后得到的子问题往往不是相互独立的。
1.4 回溯
在包含问题的所有解的解空间树中,按照深度优秀搜索的策略,从根结点出发深度探索解空间树。当探索到某一结点时,要先判断该结点是否包含问题的解,如果包含,就从该结点出发继续探索下去,如果该结点不包含问题的解,则逐层向其祖先结点回溯。
1.5 分支限界
采用广度优先的策略,在问题的解空间树T上搜索问题的解。与回溯区别:回溯法的求解目标是找出T中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出使某一个目标函数值达到极大或极小的解,即在某种意义下的最优解。