
五大常用算法
文章平均质量分 80
EmilyGnn
这个作者很懒,什么都没留下…
展开
-
五大常用算法(三) - 贪心算法
贪心算法 简介 贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择。不从整体最优考虑,只做出在某种意义上的局部最优选择。 贪心算法不是对所有问题都能得到整体最优解,但对许多问题它能产生整体最优解。如单源最短路径问题,最小生成树问题等。在一些情况下,即使贪心算法不能得到整体最优解,其最终结果却是最优解的很好近似。由于贪心法的高效性以及其所求得的答案比较接近最优结果,贪心法也可以用作辅助算法或...原创 2018-10-15 10:25:07 · 526 阅读 · 0 评论 -
五大常用算法(一) - 分治算法
分治算法 基本思想 分治法的设计思想是:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。 分治策略是:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题类型一致,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。 分治是很多高效算法的基础,如排序算法(快速排序,归并...原创 2018-10-16 10:37:50 · 2619 阅读 · 0 评论 -
五大常用算法(二) - 动态规划算法
动态规划算法 基本思想 动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。 动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。 与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。若用分治法来解这类问题,则分解得到...原创 2018-10-16 16:49:12 · 1647 阅读 · 0 评论