首页 百科知识 计算机算法的性能标准

计算机算法的性能标准

时间:2022-10-17 百科知识 版权反馈
【摘要】:只有易读性好的算法,才有助于人们对算法的阅读、理解、使用与交流。故算法本身必须尽可能地具备“当算法执行过程中一旦出现这类异常或非法情况时,就能让计算机自己正确做出反映、进行处理、解决问题”的机制和功能。具有通用性的算法,其动态算法的运行结构对于所论问题的一般数据集都适应并成立,而绝不仅仅对其某些特殊数据数据集才可用、能成立。

1.2.2 计算机算法的性能标准

对算法设计的要求,在不同的场合、不同的应用领域是不同的。一般情况下,算法性能标准应有:

(1)正确性(Correctness) 算法应确保满足具体问题所提要求,故其正确性应满足如下递进要求:第一,算法对于几组输入数据能获得满足规格说明要求的输出结果;第二,算法对于精心选择的典型、苛刻而带有特殊性的几组输入数据能获得满足规格说明要求的输出结果;第三,算法对于一切合法的输入数据能产生满足规格说明要求的输出结果。

(2)可计算性(Computability) 算法的每一步都必须严格定义,并必须能一步一步精确执行;故算法描述必须严密、精确、可行,而试图凭借直觉或经验进行算法描述是绝不行的。

(3)可读性(Readability) 算法,首先是供人(即算法的设计者与使用者)阅读、理解、使用与交流的,其次才是指导编写可供计算机执行的程序。只有易读性好的算法,才有助于人们对算法的阅读、理解、使用与交流。反之,“读而难懂,甚至读而不懂”的可读性差的程序,必易隐藏错误,故难以调试、修改和使用。

(4)健壮性(Robustness) 一般说来,因算法设计欠周密(例如未考虑到“除数为0”的排除处理)、用户输入数据欠细心(例如除数被错误输入为“0”)而出现非法情况,通常难于避免。故算法本身必须尽可能地具备“当算法执行过程中一旦出现这类异常或非法情况时,就能让计算机自己正确做出反映、进行处理、解决问题”的机制和功能。确保算法健壮性的常用方法,可以是返回一个错误或值,终止程序,或在更高抽象层次上进行处理。

(5)通用性(Generality) 确保所设计的算法具有通用性(或称一般性),是算法设计的基本要求之一。具有通用性的算法,其动态算法的运行结构对于所论问题的一般数据集都适应并成立,而绝不仅仅对其某些特殊数据数据集才可用、能成立。

(6)效率性(Efficiency) 算法,不仅要求能在给定存储空间、运行时间内正常运行,而且还应当追求高质量、高效率。故算法设计的职业良习是:应尽可能沿着“对→好→巧→妙→绝”的算法设计优化之路,设计可解决给定同一问题的多个算法,并尽量选用高效率(指执行时间短,所需空间少)的优质算法。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈