贪心算法专题总结
来源:互联网 发布:ios 为什么流畅 知乎 编辑:程序博客网 时间:2024/05/21 15:12
这一段时间学的是贪心算法,从字面上看,就是选取贪的标准,就是按照一定的标准进行选择,寻找局部最优解,换句话说,就是在求最优解问题的过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得到整个问题的最优解,通过贪心算法,每一步的选择在当前状态下具有某种意义的最好选择,并且每次贪心选择都能将问题化简为一个更小的与原问题具有相同形式的子问题。
贪心选择性质
对于一个具体问题,要确定它是否具有贪心选择性质,必须证明每一步所做的贪心选择最终导致问题的整体最优解。首先考虑问题的一个整体最优解,并证明可修改这个最优解,使其以贪心选择开始,做了贪心选择后,原问题简化为规模更小的类似子问题。
贪心算法的基本思路:
从问题的某一个初始解出发逐步逼近给定的目标,以尽可能快的地求得更好的解。当达到算法中的某一步不能再继续前进时,算法停止。
该算法存在问题:
1. 不能保证求得的最后解是最佳的;
2. 不能用来求最大或最小解问题;
3. 只能求满足某些约束条件的可行解的范围。
实现该算法的过程:
从问题的某一初始解出发;
while 能朝给定总目标前进一步 do
求出可行解的一个解元素;
由所有解元素组合成问题的一个可行解;
几个适用贪心算法的问题:
背包问题: 给定一个载重量为M的背包,考虑n个物品,其中第i个物品的重量wi,价值vi,要求把物品装满背包,且使背包内的物品价值最大。经过思考,单纯的按照重量或长度比较都有缺陷,最好的方法是按照性价比进行排序。
最优装载问题: 有一批集装箱要装到一艘重量为c的轮船,其中集装箱i的重量为wi,最优装载问题要求确定在装载体积不受限制的情况下,尽可能多的集装箱装上轮船。
利用贪心算法,采用重量最轻的先装的策略,可得到装载问题的最优解。
- 贪心算法专题总结
- 贪心算法专题总结
- 贪心算法专题总结
- 第一专题:贪心算法总结
- 专题一总结 贪心算法
- 专题一 贪心算法总结
- ACM第一专题—贪心算法总结
- 第一专题总结(贪心算法)
- 贪心专题总结
- SDAU 贪心专题 总结
- 二分贪心专题总结
- 【贪心】贪心算法总结
- 二分贪心练习题专题总结
- 贪心转载专题之:贪心算法介绍
- 贪心算法专题(1)--HDU1009
- 贪心算法总结
- 贪心算法总结
- 贪心算法总结
- vs2010实现java的IDE里的Quick Open File的功能
- 浅析Java垃圾回收机制
- OBS Build on ubuntu14.04
- json与gson,volley
- 五步教你实现使用Nginx+uWSGI+Django方法部署Django程序(下)
- 贪心算法专题总结
- 轻量级webserver kepler/thttpd/shttpd简单对比
- inno setup默认选中创建桌面图标和快速运行栏
- js监听手机屏幕亮度、震动、方向变化
- 七步从AngularJS菜鸟到专家(7):Routing
- 判断文字是中文还是字母还是数字的方法
- NSLayoutConstraint
- spring security 3.1中基于数据库自定义验证授权功能实现
- java方法调用之单分派与多分派(二)