Computer science should be called computing science, for the same reason why surgery is not called knife science. - E.Dijkstra
- 好算法:
- 正确
- 健壮:能够辨别不合法的输入并做适当处理,而不致非正常退出
- 可读:结构化 + 准确命名 + 注释 + …
- 效率:速度尽可能的快,存储空间尽可能的少
算法 != 程序
Algorithms + Data Structures = Programs
(Algorithms + Data Structures) * Efficiency = Computation
渐进分析、复杂度层级
a.级数
b.正确性
c.封底估算
迭代与递归,减而治之