算法优劣的五个标准是什么

来源:百度知道 编辑:UC知道 时间:2024/05/21 07:32:47
如上

时间复杂度:是某个算法的时间耗费,它是该算法所求解问题规模n的函数。
渐近时间复杂度:是指当问题规模趋向无穷大时,该算法时间复杂度的数量级。
评价一个算法的时间性能时,主要标准就是算法的渐近时间复杂度。
算法中语句的频度不仅与问题规模有关,还与输入实例中各元素的取值相关。
时间复杂度按数量级递增排列依次为:常数阶O(1)、对数阶O(log2n)、线性阶O(n)、线性对数阶O(nlog2n)、平方阶O(n^2)、立方阶O(n^3)、……k次方阶O(n^k)、指数阶O(2^n)。
空间复杂度:是某个算法的空间耗费,它是该算法所求解问题规模n的函数。
算法的时间复杂度和空间复杂度合称算法复杂度。

① 确定性。算法的每一种运算必须有确定的意义,该种运算应执行何种动作应无二义性,目的明确
② 能行性。要求算法中有待实现的运算都是基本的,每种运算至少在原理上能由人用纸和笔在有限的时间内完成
③ 输入。一个算法有0个或多个输入,在算法运算开始之前给出算法所需数据的初值,这些输入取自特定的对象集合
④ 输出。作为算法运算的结果,一个算法产生一个或多个输出,输出是同输入有某种特定关系的量
⑤ 有穷性。一个算法总是在执行了有穷步的运算后终止,即该算法是可达的。