TA的每日心情 | 怒 2014-12-12 07:01 |
---|
签到天数: 8 天 [LV.3]偶尔看看II
逆向联盟VIP会员
   
- 积分
- 344
|
算法的好坏评测也被,称为算法的性能分析,那么如何评价一个算法的好坏呢?
由于针对一个问题可能会有不同得算法去解决,不同的算法思路不同,有的执行起来
会很慢,效率很低,有的执行起来会很快,效率自然会很高,这样就出现了算法的好
坏之分,如何衡量一个算法的好坏,要通过以下几方面来分析。
《1》 正确性
算法能够满具体问题的需求,即对任何合法的输入,算法都会得出正确的结果。
《2》可读性
算法创建后由人来阅读,使用,理解,使用及其修改,所以可读性的好坏直接的
影响了算法的好坏,如果一个算法设计的思想很多,人就会糊涂,那么这个算法
就不能够,更好的交流和推广使用,自然对其修改,扩展,维护就更不方便,
所以要提高算法的可读性,让其简明易懂。
《3》健壮性
一个程序编译完成后,运行该程序的用户对程序的对程序的理解各有不同, 并不保证
每一个人都能够按照要求去输入,健壮性就是指对非法输入的抵抗能力,当输入的数据
非法时,算法能够识别并作出处理,而不会因为错误的输入,从而产生错误的动作,或
造成程序的瘫痪。
《4》时间复杂度与空间复杂度
时间复杂度简短的说就是,算法运行所需要的时间,不同的算法具有不同的时间复杂度,
当一个程序较小的时间我们感觉不到时间复杂度的重要,当一个程序很大的时候, 就会
察觉到时间复杂度,其实非常的重要,所以如何写出更高速的算法一直是算法不断改进
的目标,空间复杂度,是指算法运行所需占用的储存空间的多少,随着计算机硬件的发展
空间复杂度,已经显得不是那么的重要。
时间复杂度和空间复杂度,是评测算法好坏的重要指标,所以在编写算法的时候要充分考虑
尽量的减少时间复杂度和空间复杂度。
|
|