1.算法具有的五个基本特征:输入,输出有穷性、确定性和可行性
2.算法设计的要求:正确性、可读性、健壮性、时间效率高和存储量低
- 正确性:算法的正确性是指算法至少应该具有输入、输出和加工处理无歧义性、能正确反映问题的需求、能够得到问题的正确答案。
- 可读性:算法设计的另一目的是为例便于阅读、理解和交流
- 健壮性:当输入数据不合法时,算法也能做出相关处理,而不是产生异常或莫名奇妙的结果
- 时间效率高和存储量低:设计算法应该尽量满足时间效率高和存储量低的需求
- 综上好的算法,应该具有正确性、可读性、健壮性、高效率和低存储量的特征
3.算法效率的度量方法
1.与最高次项相乘的常熟并不重要
2.判断一个算法的效率时,函数中的常熟和其他次要项常常可以忽略,而更应该关注主项(最高阶项)的阶数
3.某个算法,随着n的增大,它会越来越优于另一个算法,或者越来越差于另一个算法
4.最坏情况运行时间时一种保证,那就是运行时间将不会再坏了。在应用中,这是一种最重要的需求,通常,除非特别指定,我们提到的运行时间都是最坏情况的运行时间
5.平均运行时间是所有情况中最有意义的,因为他是期望的运行时间