|
二、常见的算法类型
在实际应用中,算法的表现形式千变万化,但许多算法的设计思想具有相似之处。归纳起来,常用的算法大致可分为以下几类:
(1)
穷举法
基本思想是在一个可能存在可行状态(可行解)的状态全集中依次遍历所有的元素,并判断是否为可行状态。
(2)
贪心法
基本思想是试图通过局部最优解得到全局最优解。
(3)
分治法
基本思想是把一个规模较大的问题划分成相似的小问题,各个求解,再得整个问题的解。
(4)
回溯法
基本思想是一步一步向前试探,等有多种选择时任意选择一种,只要可行就继续向前,一旦失败时就后退回来选择其它可能性。
(5)
动态规划法
基本思想是把大问题分解为若干小问题,通过求解子问题来得到原问题的解。由于这些子问题相互包含,为了复用已计算的结果,常把计算的中间结果全部保存起来,自底向上多路经地求解计算原问题的解。
(6)
分枝界限法
基本思想是在表示问题空间的树上进行系统搜索时采用广度优先策略,同时利用最优解属性的上下界来控制搜索的分枝。
|