
算法设计与分析--贪心算法
hx_yu
SDF
展开
-
活动安排问题
活动安排问题可以做如下表述:一组活动需要使用同一资源,每个活动都有一个【si,fi】对,用来表示活动的开始时间和结束时间。称一组活动是相容的是指他们的活动区间不相交。给定n个活动,我们需要找出使得相容活动尽可能多的安排方式。算法描述如下:该问题可以用贪心算法来解决。具体思路如下:首先,我们需要将这些活动按照结束时间从小到大排序。然后每次选出一个活动,他的开始时间要大于上一个选择的活动的结束时间,同...原创 2018-04-14 20:48:37 · 743 阅读 · 0 评论 -
0-1背包问题和背包问题
(1)0-1背包问题0-1背包问题可做如下描述:给定n种物品和一个背包,每个物品有一个【wi,vi】对,表示其重量和价值。背包的总容量为C。对于每个物品,要么装要么不装(0或1),现在需要设计方案使得背包内的物品的总价值最大。算法如下:0-1背包问题可以使用动态规划来解决。d[i][j]表示考虑第i件物品且剩余容量为j时,背包内的价值。有这样的关系的d[i][j]=max{d[i+1][j],d[...原创 2018-04-14 21:12:30 · 5450 阅读 · 0 评论 -
贪心算法原理
使用贪心算法需要具备两个性质:贪心选择性和最优子结构。贪心选择性是指所求问题的整体最优解可以通过一系列可以通过一系列局部最优的选择来达到。他总是作出当前最好的选择,该选择可以依赖于之前的选择,但绝不依赖于将来的选择和子问题的选择,这是他与动态规划的重要区别。最优子结构是指一个问题的最优解包含其子结构的最优解。在证明这两个性质的时候,比较好证的是证明最优子结构。最优子结构一般通过反证法证明,即,如果...原创 2018-04-14 21:33:44 · 2627 阅读 · 0 评论