摘要: 一、动态规划的基本思想 动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。 将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。适合于用动态规划求解的问题,经分解得到子问题往往不是互相独 阅读全文
posted @ 2017-05-22 23:55 C3Stones 阅读(2727) 评论(0) 推荐(0) 编辑
摘要: 一、分治的基本思想 将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。 对于一个规模为 n 的问题,若问题可以容易地解决,则直接解决,否则将其分解为 k 个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解 阅读全文
posted @ 2017-05-22 21:53 C3Stones 阅读(4063) 评论(0) 推荐(0) 编辑
摘要: 一、递归的定义 一个过程或函数在其定义或说明中又直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个原问题相似的规模较小的问题来求解。 二、用递归求解问题的主要步骤 1、找出相似性 2、定义出口 三、递归实例 1、全排列问题 例如: list[3] = {1,2,3}。 则全排列结 阅读全文
posted @ 2017-05-22 20:47 C3Stones 阅读(488) 评论(0) 推荐(0) 编辑