算法学习笔记——贪婪
2015-07-26 20:36
239 查看
一个、基本概念
所谓贪婪算法的手段。当问题解决,在目前看来总是做出最好的选择。那。不能从整体上最好考虑,他提出的最佳解决方案,只有一个部分有义。
没有固定的算法贪心算法框架,关键是要选择贪心算法设计策略。
,贪心算法不是对全部问题都能得到总体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响曾经的状态,仅仅与当前状态有关。
所以对所採用的贪心策略一定要细致分析其是否满足无后效性。
二、贪心算法的基本思路
1.建立数学模型来描写叙述问题2.把求解的问题分成若干个子问题
3.对每一子问题求解,得到子问题的局部最优解
4.把子问题的解局部最优解合成原来解问题的一个解
三、贪心算法适用的问题
贪心策略适用的前提是:局部最优策略能导致产生全局最优解。实际上。贪心算法适用的情况非常少。一般。对一个问题分析是否适用于贪心算法。能够先选择该问题下的几个实际数据进行分析,就可做出推断。
四、贪心算法的实现框架
从问题的某一初始解出发。while (能朝给定总目标前进一步)
{
利用可行的决策。求出可行解的一个解元素。
}
由全部解元素组合成问题的一个可行解;
五、贪心策略的选择
由于用贪心算法仅仅能通过解局部最优解的策略来达到全局最优解,因此,一定要注意推断问题是否适合贪心算法策略,解决方案必须找到如果问题的最优解。相关文章推荐
- SQL基础学习_04_视图
- 命令别名alias设置
- Java 设计模式—装饰者模式
- (_)snprintf跨平台测试
- hdu 5130 && BestCoder 1st Anniversary 1001
- java socket编程
- 【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记39 Alert&ActionSheet
- Linux命令学习手册-tr命令
- Java设计模式偷跑系列(21)建模和实现享受metapatterns
- Linux命令学习手册-tr命令 2015-07-26 20:35 9人阅读 评论(0) 收藏
- [BZOJ 1001] [BeiJing2006]狼抓兔子
- UVA 10878
- NSDate类目-实现 1分钟前 X小时前 昨天的显示
- PAT编程:从A+B>C到int和long的区别
- Junit4单元测试要点
- Java 中使用 Calendar 类得到输入日期所在月的最后一天
- 浅析嵌入式C优化技巧
- 抓取知乎每日吐槽
- UI001---UIButton
- 浅谈我对机器学习的理解