今天上午听了米老师讲的算法,感觉收获很多,对于算法更加有信心了。首先,先来宏观看一下:
这三种算法总的来说,刚开始看的时候不知道怎么下手,但是看多了也会有那么一点儿感觉。分治法是这三种算法里面都有的思想,动态规划和贪心都是将问题分解成子问题求解,但动态规划里面的子问题都带有联系,而贪心算法里面的子问题都相对独立,唯一不同的是,贪心算法要首先想出一个解决方案来构造求解最优解的过程。
宏观介绍下算法后,来看看贪心算法的两个实例。
一,活动选择问题
解决方案:
对于活动的选择问题,我们求解过程是这样的,先把这些活动按照结束时间从早到晚排列,然后从第一个开始选择,如果第i个活动的开始时间比第i-1个活动的结束时间晚,我们就将此活动加入到解集合中。