![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 51
wolifun_fry
程序员
展开
-
【算法】贪心算法(0-1背包问题)
什么是贪心算法?贪心算法并不是一个具体的算法,而是一种算法的思想,或者说是解决问题一种思路。这就有两个关键的点,可以解释贪心算法: 贪心算法解决什么问题? 贪心算法是怎样的一种思路? 1. 贪心算法解决什么问题解决求最优解问题。即此问题的最终的目的,是为了得到一个最优解。比如,从A地到B地之间的最短路径,100块钱可以在一个商场里买到的东西最多,等等之类的。2. 贪心算法是怎样的原创 2016-08-20 17:10:25 · 4246 阅读 · 0 评论 -
【算法】分治法(快速排序,归并排序)
分治法,是算法思想里最基础的思想。这也和人的基本思维有关,当我们需要解决一个大的问题时,直觉的就会将这个大问题分成多个小问题来解决。大量的经典算法,都是基于分治法。比如,快速排序,归并排序。当然,最让人想起来的,就是二分查找了。分治法的步骤分治,分而治之。分的原因是因为问题的规模太大,需要拆开了解决,目的是为了解决问题,分解只是手段。所以分治的步骤其实很明确: 分解:将大问题的分解成小问题,是这个算原创 2016-08-20 17:13:04 · 1495 阅读 · 0 评论 -
【算法】动态规划法(斐波那契数列)
动态规划 用于求解最优化子问题的,往往是高效的而准确的。这背后的逻辑,其实就是程序设计的最基本原理——不要让程序做重复的事情。一句话说算法对于一个复杂的问题,可以分解成若干个子问题来解决,这是分治法。每个分解的子问题,得到最优解,再通过一个方式组合这些最优解,得到全局最优解,这是贪心法。而其实分解的子问题,往往会有许多重复的子问题,对程序进行减枝机制地优化,这是动态规划法。斐波那契数列大学课堂上,讲原创 2016-08-20 17:14:01 · 1641 阅读 · 0 评论