中南大学软件学院算法考试重点.ppt

中南大学软件学院算法考试重点

【一】常见的算法策略 算法策略和算法是算法设计中的两个方面 算法策略是面向问题的,算法是面向实现的 通过算法策略才找出解决问题的算法 用不同算法求解的问题算法策略是不同的。 【一】常见的算法策略 1)递推:“递推法”和贪心算法一样也是由当前问题的逐步解决从而得到整个问题的解,只是依赖的是信息间本身的递推关系,每一步不需要策略参与到算法中,它们更多地用于计算。 2)递归:递归法是利用大问题与其子问题间的递归关系来解决问题的。每次找出大问题与小的子问题之间的关系,直到小的子问题很容易解决,再由小的子问题的解导出大问题的解。例如:汉诺塔问题 3)穷举:对所有可能的解逐一尝试。 4)递归回溯:类似于穷举法的思想,递归回朔法通过递归尝试遍问题各个可能解的通路,发现此路不通时回朔到上一步继续尝试别的通路。 【一】常见的算法策略 5)分治:求解较复杂的问题。这类问题是可以被分解成独立的子问题来解决的,将两个或两个以上的独立子问题的解“合成”,就得到较大的子问题的解,最后合成为总问题的解。 6)动态规划:动态规划法与贪心法类似,要求问题具有最优子结构(即最优解包含子问题的最优解),是一种自底向上的求解方式,与递归正好相反,每次求解到一个阶段时,该阶段求解所依赖的子问题已经完全求解完毕,因此每一步的求解都是在直到全部所需信息的情况下进行的,因此可以得到全局最优解。 【一】常见的算法策略 7)贪心:

文档评论(0)

1亿VIP精品文档

相关文档