贪心算法总结

贪心算法听课的时候本着一重循环排序,找到局部最优解,循环一次由局部最优过渡到整体最优,这种单一的模式,后来做到田忌赛马问题开始发现贪心并不只是一个循环来解决的问题思想,他更多的应该更加强调的是寻找局部最优解由局部最优的最优即为最终解的过程(不一定要用到循环也不一定只用一次循环),其中主要的几种题型,背包问题、木棒问题、节目问题、时间等待分配问题(最基本的用for循环),寻找最优策略问题(田忌赛马,找最少的盒子,霍夫曼算法)等等问题。
贪心算法的思想上抽象能力是解决的关键,好的抽象能极大的简化问题的复杂度,简化问题后再进行最优策略的制定,从而过渡到算法,贪心算法类题目的关键反而不在贪心算法
本身,个人感觉应该在对问题符号化,程序化的抽象,和简单数学模型的构建上,只有构建完成正确的模型和抽象,基本上策略也就完整的构建完成了,需要的仅仅是格式的统一,除了有些的题目可能策略比较复杂,需要单独的分析,分析需要分析全面,在本专题的实际做题过程中,由于考虑不全面,而且实例数据量少,有时候的问题实际很难发现,
在完成题目的实例输入输出后需要的是进行一些极端案例的检验,以便发现策略的不对,或者有些数据的问题。
总结下贪心的解题过程,

⒈建立数学模型来描述问题。

⒉把求解的问题分成若干个子问题。

⒊对每一子问题求解,得到子问题的局部最优解

⒋把子问题的解局部最优解合成原来解问题的一个解。

实现该算法的过程:

从问题的某一初始解出发;

求出可行解的一个解元素

由所有解元素组合成问题的一个可行解。

同时感觉有些实际情况下贪心策略并不好制定,甚至不能制定,比方说多个最优解全部输出等。

也有可能最优的最优不是最优反而最优的次优之类的是最优解的情况等。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值