算法定义
算法(Algorithm)是指解题计划的准确而完全的形貌,是一系列处理题目的清楚指令,算法代表着用体系的要领形貌处理题目的战略机制。也就是说,能够对肯定范例的输入,在有限时刻内取得所请求的输出。假如一个算法有缺点,或不适合于某个题目,实行这个算法将不会处理这个题目。差别的算法能够用差别的时刻、空间或效力来完成一样的使命。一个算法的好坏能够用空间复杂度与时刻复杂度来权衡。
一个算法应当具有以下七个主要的特性:
①有穷性(Finiteness):算法的有穷性是指算法必需能在实行有限个步骤以后停止;
②确实性(Definiteness):算法的每一步骤必需有确实的定义;
③输入项(Input):一个算法有0个或多个输入,以描写运算对象的初始状况,所谓0个输 入是指算法自身定出了初始条件;
④输进项(Output):一个算法有一个或多个输出,以反映对输入数据加工后的效果。没 有输出的算法是毫无意义的;
⑤可行性(Effectiveness):算法中实行的任何盘算步骤都是能够被分解为基础的可实行 的操纵步,即每一个盘算步都能够在有限时刻内完成(也称之为有效性);
⑥高效性(High efficiency):实行速度快,占用资本少;
⑦健壮性(Robustness):对数据相应准确。
时刻复杂度
盘算机科学中,算法的时刻复杂度是一个函数,它定量形貌了该算法的运转时刻,时刻复杂度经常运用大O标记(大O标记(Big O notation)是用于形貌函数渐进行动的数学标记。更确实地说,它是用另一个(平常更简朴的)函数来形貌一个函数数量级的渐近上界。在数学中,它平常用来描写被截断的无限级数尤其是渐近级数的剩余项;在盘算机科学中,它在剖析算法复杂性的方面异常有效。)表述,运用这类体式格局时,时刻复杂度可被称为是渐近的,它考核当输入值大小趋近无限时的状况。
大O,简而言之能够以为它的寄义是“order of”(大约是)。
无限大渐近
大O标记在剖析算法效力的时刻异常有效。举个例子,处理一个范围为 n 的题目所消费的时刻(或许所需步骤的数量)能够被求得:T(n) = 4n^2 - 2n + 2。
当 n 增大时,n^2; 项将最先占主导地位,而其他各项能够被疏忽——举例说明:当 n = 500,4n^2; 项是 2n 项的1000倍大,因此在大多数场所下,省略后者对表达式的值的影响将是能够疏忽不计的。
以上就是python中的算法的细致内容,更多请关注ki4网别的相干文章!