淘宝客必须做网站吗,如果管理多个wordpress,网页设计实训报告记录和结果分析,在本地搭建wordpress文章转自#xff1a;https://blog.csdn.net/changyuanchn/article/details/51476281引言据说有人归纳了计算机的五大常用算法#xff0c;它们是贪婪算法#xff0c;动态规划算法#xff0c;分治算法#xff0c;回溯算法以及分支限界算法。虽然不知道为何要将这五个算法归为… 文章转自https://blog.csdn.net/changyuanchn/article/details/51476281引言据说有人归纳了计算机的五大常用算法它们是贪婪算法动态规划算法分治算法回溯算法以及分支限界算法。虽然不知道为何要将这五个算法归为最常用的算法但是毫无疑问这五个算法是有很多应用场景的最优化问题大多可以利用这些算法解决。算法的本质就是解决问题。当数据量比较小时其实根本就不需要什么算法写一些for循环完全就可以很快速的搞定了但是当数据量比较大场景比较复杂的时候编写for循环就是一个很不明智的方式了。一是耗时二是写出的代码绝对是天书。当然还有第三点这点也是最重要的写代码是一种艺术而不是搬砖。前面的文章里对这五种算法都已经做了详细的讲解和归纳本文主要是一个总结将这五种算法整理到一起来对比分析一下。0 穷举法穷举法简单粗暴没有什么问题是搞不定的只要你肯花时间。同时对于小数据量穷举法就是最优秀的算法。就像太祖长拳简单人人都能会能解决问题但是与真正的高手过招就颓了。1 贪婪算法贪婪算法可以获取到问题的局部最优解不一定能获取到全局最优解同时获取最优解的好坏要看贪婪策略的选择。特点就是简单能获取到局部最优解。就像打狗棍法同一套棍法洪七公和鲁有脚的水平就差太多了因此同样是贪婪算法不同的贪婪策略会导致得到差异非常大的结果。 具体的详细解析请参见下面的文章 http://blog.csdn.net/changyuanchn/article/details/514172112 动态规划算法当最优化问题具有重复子问题和最优子结构的时候就是动态规划出场的时候了。动态规划算法的核心就是提供了一个memory来缓存重复子问题的结果避免了递归的过程中的大量的重复计算。动态规划算法的难点在于怎么将问题转化为能够利用动态规划算法来解决。当重复子问题的数目比较小时动态规划的效果也会很差。如果问题存在大量的重复子问题的话那么动态规划对于效率的提高是非常恐怖的。就像斗转星移武功对手强它也会比较强对手若他也会比较弱。 具体的详细解析请参见下面的文章 http://blog.csdn.net/changyuanchn/article/details/51420028 http://blog.csdn.net/changyuanchn/article/details/514299793分治算法分治算法的逻辑更简单了就是一个词分而治之。分治算法就是把一个大的问题分为若干个子问题然后在子问题继续向下分一直到base cases通过base cases的解决一步步向上最终解决最初的大问题。分治算法是递归的典型应用。 具体的详细解析请参见下面的文章 http://blog.csdn.net/changyuanchn/article/details/17150109 http://blog.csdn.net/changyuanchn/article/details/514651754 回溯算法回溯算法是深度优先策略的典型应用回溯算法就是沿着一条路向下走如果此路不同了则回溯到上一个 分岔路在选一条路走一直这样递归下去直到遍历万所有的路径。八皇后问题是回溯算法的一个经典问题还有一个经典的应用场景就是迷宫问题。 具体的详细解析请参见下面的文章 http://blog.csdn.net/changyuanchn/article/details/173544615 分支限界算法回溯算法是深度优先那么分支限界法就是广度优先的一个经典的例子。回溯法一般来说是遍历整个解空间获取问题的所有解而分支限界法则是获取一个解一般来说要获取最优解。 具体的详细解析请参见下面的文章 http://blog.csdn.net/changyuanchn/article/details/17102037转载于:https://www.cnblogs.com/wangxueliang/p/9346487.html