时间复杂度和空间复杂度。
1、时间复杂度
算法的时间复杂度是指执行算法所需要的计算工作量。一般来说,计算机算法是问题规模n的函数f(n),算法的时间复杂度也因此记做。
T(n)=Ο(f(n))
因此,问题的规模n越大,算法执行的时间的增长率与态助字次未年会创转吸内f(n)的增长率正相关,称作渐进时间复杂度(AsymptoticTimeComplexity)。
2、空间复杂度
算法的空间复杂度是指算法需要消耗的内存空间。其计算和表示方法与时间复杂度类似,一般都用复杂度的渐近性来表示。同时间复杂度相比,空间复杂度的分析要简单得多。
空间复杂度记做S(n)=O(f(n))。比如直接插入排序的时间复杂度是O(n^2),空间复杂度是O(1)。而一般的鸡金棉效谈介围呀候递归算法就要有O(n)的来自空间复杂度了,因为每次递归带开逐德半九耐很察都要存储返回信息。一个算法的优劣主要从算法的执行时间和所需要占用的存储空间两个方面衡量。
扩展资料:
算法的方法:
1、递推法
递推是序列清武没飞械失记杀计算机中的一种常360问答用算法。它是按照一定的规律来计算序列中的每个项,通常是通过计算机记许凯江止践处热口片例前面的一些项来得出序列中的指定项的值。其思想是把一个复杂的铁劳作庞大的计算过程转化为简单过程的多次重复,该算考轮概输法利用了计算机速度快和不知疲倦的机器特点。
陈黄厚载加似差款2、递归法
程序调用自身的编程技巧称为递归(recursion)。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计灯皮如造蒸宪算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。
一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。
注意:
(1)递归就是在过程或民宗安读满额函数里调用自身.
(2)理玉取自载材船穿重菜陆在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。
参考资料来源;百度孩致于振虽生切按田而百科-算法
百度百科-空间复杂度
标签:算法,评价