时间代价分析:
算法的时间效率是指算法的执行时间随问题规模的增长而增长的趋势,通常采用时间复杂度来度量。
时间复杂度:算法执行时间的增长率。不是执行时间。
若算法的执行时间是常数级,不依赖于数据量n的大小,则时间复杂度为O(1);若算法的执行时间是n的线性关系,则时间复杂度为O(n);同理,对数级,平方级,立方级,指数级的时间复杂度分别为O(log2n), O(n2) , O(n3) , O(2n),这些函数按照数量级递增排序具体有以下关系:O(1)< O(n)< O(log2n)< O(n)< O(n*log2n)< O(n的平方)< O(n的立方)< O(2的n次方)
空间代价分析:
执行一个算法所需的存储空间包括三部分:输入数据占用的存储空间,程序指令占用的内存空间,辅助变量占用的存储空间。
辅助变量占用的存储空间为度量空间代价的依据。