3、贪心算法的原理与设计
贪心算法的原理与设计
贪心算法的设计步骤
1、将最优化问题转化为这样的形式:对其做出一次选择后,只剩下一个子问题要求解。
这个问题可以引用前面得到的活动选择问题进行说明 ,如在活动选择问题中,设Aij 代表的是活动ai
结束后开始,且在aj结束之前进的一个子问题,于是
Aij=Aik+ak+Akj
于我们将区间【i,j】活动的安排就变成了两个子区间【i,k】和【k,j】的优化问题,这问题进行了变化。
但是如果我们如果采用贪心策略,先对活动的结束时间进行排序,也就是每次都优先选择结束时间早
的问题,这样,我们就将问题解化了,首先,我们不需要用区间来表示了,我们只要选择活动就行了
,其次,我们只有一种选择了,只剩下一个子问题需要我们进行求解,也就是在剩下的活动中,再
次选择结束时间最早且起始时间又符合我们要求的子问题。这样选择便只有一个了。