摘要: 分治算法:是将问题划分为一些独立的子问题,递归的求解个子问题,然后合并子问题的解而得到原问题的解。 分治算法步骤 step1 分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题; step2 解决:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题 step3 合并:将 阅读全文
posted @ 2019-11-15 11:12 suwenyuan 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 贪心算法中,是以自顶向下的方式使用最优子结构,贪心算法会先做选择,在当时看起来是最优的选择,然后再求解一个结果的子问题。 贪心算法是使所做的选择看起来都是当前最佳的,期望通过所做的局部最优选择来产生一个全局最优解 如最小生成树、Dijkstra单源最短路径 贪心选择性质 所谓贪心选择性质是指所求问题 阅读全文
posted @ 2019-11-15 11:10 suwenyuan 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 动态规划:适用于子问题不是独立的情况,也就是各子问题包含子子问题,若用分治算法,则会做很多不必要的工作,重复的求解子问题,动态规划对每个子子问题,只求解一次将其结果保存在一张表中,从而避免重复计算。 动态规划最优化问题中的两个要素:最优子结构和重叠子问题 动态规划是以自底向上的方式来利用最优子结构, 阅读全文
posted @ 2019-11-15 09:53 suwenyuan 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 一、map 1.map简介 map是一种关联式容器,一对一的映射 第一个是key,是唯一的。 第二个是value,关键字所对应的值。 因为map的底层实现是红黑树,所以map会对插入的数据进行排序。 2.插入元素 采用insert和直接下标访问两种方式,同时可以看到输出是按照key值排序。 #inc 阅读全文
posted @ 2019-11-15 09:25 suwenyuan 阅读(1907) 评论(0) 推荐(0) 编辑