算法标准是评价和衡量算法性能的一系列准则和要求。不同的文献和标准提出了不同的算法评价标准,但主要可以归纳为以下几点:
正确性
正确性是算法最重要的标准,它指的是算法是否能够正确地解决问题,即能够正确地产生所需结果。
有穷性
算法必须能在执行有限个步骤之后终止。如果不具备有穷性,仅具有其他性质,只能称为计算过程或计算方法,而不是算法。
确定性
算法的每一步骤必须有确切的定义,不能有歧义或不确定性。
可行性
算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成。
输入项和输出项
一个算法有0个或多个输入,以刻画运算对象的初始情况。一个算法有一个或多个输出,以反映对输入数据加工后的结果。
效率
算法的效率可以从时间复杂度和空间复杂度来衡量。时间复杂度反映了算法执行所需的时间,空间复杂度反映了算法执行所需的内存空间。
可读性
算法应易于理解和阅读,方便其他人进行理解和维护。
健壮性
算法应对非法数据及操作有较好的响应和处理能力,运行稳定,容错性好。
难易程度
算法的难易程度也是一个重要的评价标准,优秀的算法应尽可能易于理解和实现。
综合以上标准,可以全面评价一个算法的优劣,从而选择出最适合特定问题的算法。