Skip to content

Definitions

  • 定义:一个对于完成计算或者解决问题的精确指示的有限集合。
  • 可以使用pseudocode来specify algorithms, 是一种介于自然语言与程序语言中间点的方法。

Properties

  • 必须要有从一个确定的集合中决定的输入集合
  • 输出一个结果,是问题的解决方案
  • 必须是确定的(Definiteness)
  • 必须是正确的correctness
  • 必须是有限的finiteness
  • 必须是有效的effectiveness
  • 必须是可拓展的generality

Example Problems

  • Optimization问题就是从一个集合中找到最大值或者最小值的问题
  • Greedy Algorithms:
    • 贪心算法,每一步都采取当前步骤下的最优选择
    • 虽然不一定是最优的,无论是否最优,我们都将其称之为greedy algorithm
  • 可以采用数学证明Cashier Problems下,Greedy Algorithm 一定是最优算法。