算法、代数与密码学:从基础到历史的全面探索
1. 算法基础:贪心算法与优化问题
在解决优化问题时,贪心算法是一种常用且有效的方法。优化问题的核心在于从候选集合 (C) 中找出满足特定标准的子集 (S)。这里涉及到几个关键概念:
- 候选集合 :之前使用过的一组候选元素。
- 谓词解决方案 :
- 用于测试给定的候选集合是否能提供一个有效的解决方案,注意这里不检查是否为最优解,仅判断是否为可行解。
- 另一个谓词解决方案(可行的)用于测试一组候选元素是否可以扩展为一个解决方案。
- 选择函数 :选择一个尚未使用过的候选元素。
- 赋值函数 :为解决方案赋予一个值。
贪心算法的特点是选择函数会为每个候选元素 (C) 分配一个数值,然后选择 (SELECT(C)) 最大或最小的候选元素。其一般形式如下:
function select (C : candidate_set) return candidate;
function solution (S : candidate_set) return boolean;
function feasible (S : candidate_set) return boolean;
贪心算法通常很容易为优化问题进行设计,因为只需要描述谓词和选择函数即可。
超级会员免费看
订阅专栏 解锁全文
924

被折叠的 条评论
为什么被折叠?



