一个程序并不一定能称之为算法,
算法必须满足正确性有穷性 有时候正确性一眼能看出
但是有穷性并不能证明
Q:什么是好算法?
A:一个好的算法
符合语法 能够编译 链接
能够正确处理简单的输入
能够正确处理大规模的输入
能够正确处理一般性的输入
能够正确处理退化的输入
能够正确处理任意合法的输入
很遗憾 以上提到的 都不是我们最强调的
可读性是重要的但是仍然不是最重要的
可读性:结构化 准确命名 注释
最重要的是 效率!
效率就是 速度尽可能快 存储空间尽可能少
但是又要马儿跑 又要马儿不吃草 这不行
我们是 既要马儿快点跑 又要马儿吃得少
算法+数据结构=程序
(算法+数据结构)X效率=计算
Q:程序的健壮性
A:能辨别不合法的输入并作出适当的处理,而不会导致非正常退出