软考
APP下载

信息系统管理工程师考点分析:算法评价

一般而言,设计一个"好"的算法应该考虑到以下目标。

①正确(Correctness)。算法主要是为了便于人的阅读和交流;

②可读性(Readability)可读性好的算法有利于人的理解;

③健壮性(Robustness)。指的是,当输入数据非法时,算法也能适当地做出反应或者对它进行处理,而不会产生莫名其妙的输出结果;

④效率和低存储量需求。效率指的是算法执行的时间。对于同一问题,执行时间短的算法效率高。存储量需求体现了运行该算法所需要的计算机资源的数量。其中最重要的就是算法的时间复杂性和空间复杂性。

一般情况下,算法中的基本操作重复执行的次数是问题规模n的某个函数f(n),算法的时间量度,记作:T(n)=O(f(n))。

它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称做算法的渐进时间复杂度,简称时间复杂度(Asymptotic Time Complexity)。被称为问题的基本操作的原操作应是其重复执行次数和算法的执行时间成正比的原操作。语句的频度指的是该语句重复执行的次数。

与算法的时间复杂度类似的,空间复杂度(Space Complexity)指的是算法所需的存储空间的量度,记作:S(n)=O(f(n))。

其中,n为问题的规模或大小。根据算法的时间复杂度和空间复杂度,可以对算法进行评价。

备考资料 免费领取:信息系统管理工程师报考指南+考情分析+思维导图等 立即下载
真题演练 精准解析历年真题,助你高效备考! 立即做题
相关阅读
信息系统管理工程师题库