贪心算法基本思想和代码框架
来源:互联网 发布:dota2饰品淘宝店 编辑:程序博客网 时间:2024/05/16 08:02
贪心法的求解过程
用贪心法求解问题应该考虑如下几个方面:
(1)候选集合C:为了构造问题的解决方案,有一个候选集合C作为问题的可能解,即问题的最终解均取自于候选集合C。
(2)解集合S:随着贪心选择的进行,解集合S不断扩展,直到构成一个满足问题的完整解。
(3)解决函数solution:检查解集合S是否构成问题的完整解。
(4)选择函数select:即贪心策略,这是贪心法的关键,它指出哪个候选对象最有希望构成问题的解,选择函数通常和目标函数有关。
(5)可行函数feasible:检查解集合中加入一个候选对象是否可行,即解集合扩展后是否满足约束条件。
贪心法的一般流程
Greedy(C) //C是问题的输入集合即候选集合
{
S={ }; //初始解集合为空集
while (not solution(S)) //集合S没有构成问题的一个解
{
x=select(C); //在候选集合C中做贪心选择
if feasible(S, x) //判断集合S中加入x后的解是否可行
S=S+{x};
C=C-{x};
}
return S;
0 0
- 贪心算法基本思想和代码框架
- 贪心算法基本思想和典型例题
- 贪心算法基本思想和典型例题
- 贪心算法的基本思想
- 算法思想 -- 贪心算法
- 贪心算法思想
- 贪心算法思想
- 贪心算法的思想
- 贪心算法思想
- 贪心算法思想
- 算法之贪心思想
- 贪心算法的思想
- Cuckoo Hash 基本思想和代码实现
- 选择排序基本思想和实现代码
- 分治算法基本思想和典型案例
- 分治算法基本思想和典型例题
- 图像处理基本思想和算法研究
- spring基本框架和代码
- 数组最大子序列和
- 阿里校招面试-20140913
- word2007封面、目录、正文页码设置方法
- Cocos2d-x官方中文文档 v3.x
- 1
- 贪心算法基本思想和代码框架
- 设计模式4——Iterator设计模式
- ARM Linux启动过程分析
- 2014年新一代的报表利器 Qlik Sense Desktop 初步体验
- 1
- 只用Android Studio完成应用类库编译及加载
- C++的一大误区——深入解释直接初始化与复制初始化的区别
- C语言程序学习(十一)笔记
- Cocos2d-x官方中文文档 v2.x