贪心算法总结

希望为读者了解贪心起到帮助,在(二)中典型的贪心问题务必自己百度学习!

(一)贪心算法特点:

(1)设计要素:
1).贪心法适用于组合优化问题
2).求解过程是多步判断过程,最终的判断序列对应于问题的最优解
3).依据某种“短视的”贪心选择性质判断,性质好坏决定算法的成败
4).贪心法必须进行正确性证明
5).证明贪心法不正确的技巧:举反例


(2)缺陷:
1). 不能保证求得的最后解是最佳的;
2). 不能用来求最大或最小解问题;
3). 只能求满足某些约束条件的可行解的范围。

 

(二)典型贪心问题(区间问题)
(1)区间选点问题:
数轴上有n个闭区间[ai,bi]。取尽量少的点,使得每个区间内都至少有一个点(不同区间内含的点可以是同一个)。

(2)区间覆盖问题:
给定一个长度为m的区间,再给出n条线段的起点和终点(注意这里是闭区间),求最少使用多少条线段可以将整个区间完全覆盖。

(3)选择不相交区间问题:
数轴上有n个开区间(ai,bi)。选择尽量多个区间,使得这些区间两两没有公共点。

 

(三)贪心法建立模型步骤
(1)建立对问题精确描述的数学模型,包括定义最优解的模型; 
(2)将问题分解为一系列子问题,同时定义子问题的最优解结构; 
(3)应用贪心原则确定每个子问题的局部最优解,并根据最优解的模型,用子问题的局部最优解堆叠出全局最优解。3

(四)如何证明贪心选择正确性(非标准)
1.若运用贪心策略,将在子问题A中,选择a作为局部最优解。
2.此时,证贪心策略是正确的,其实是证,不采取贪心策略下,原问题的最优解中,也包含a
3.假设,此时子问题A中没有选择a,证子问题B(递归中与合并后)中的选择一定包含a
4.此时,可以使用最简单的证法,也就是动态规划的自底向上递归。由于a在切分扫描中,一定被选中
5.由4可得3,也就是得到了“贪心策略选择的局部最优解,一定包含在全局最优解之中”
 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值