Algorithm导论

导论

在计算机领域, 算法用来特指可被计算机求解问题的方法.

一个算法是指一个有限的指令集合, 若按其执行, 可完成某一特定任务. 算法必须满足一下5个条件:

  1. 输入.
  2. 输出.
  3. 确定性: 类似x+6或者7, x/0的操作不被允许.
  4. 有穷性: 算法最终能够终止, 并且终止的时间不应该太长.
  5. 有效性: 算法的每一步操作都应该是有效的, 原则上可以由人用纸笔在有限时间内完成.

一个优秀算法的诞生会经历4个阶段:

  1. 设计: 创造算法是艺术!
  2. 验证: 算法被创造出来后, 需要证明它确实对所有可能的合理输入都能计算出正确的结果!
  3. 分析: 分析算法所需要的时间以及存储空间, 以评估其性能.
  4. 测试: 程序调试, 调试只能指出错误的存在, 而不能指出其不存在!