常对幂指阶
1.时间复杂度
事前预估 算法 时间开销 T(n) 与 问题规模 n 的关系( T 表示 “ time ”)
一般默认问题规模为n。
1.单循环
2.嵌套两层循环都为n
3.单层循环指数递增型
4.搜索型
链接 :第七章查找算法!!!
2.空间复杂度
空间复杂度,与算法运行时所需的内存空间有关。
默认问题规模为n。
举例案例,具体分析。
1.全是普通变量
局部变量n和i占空间,无论问题规模怎么变,所需的内存空间为常量,所以为O(1)
2.一维数组
声明了一个长度为n的数组,需要开辟n大小的内存,所以为O(n)
3.二维数组
二维数组是n*n,所以为O(n^2)
4.递归--变量
不递归的时候空间复杂度是O(1),递归的话递归n次,乘以n,所以空间复杂度为O(n)。
5.递归--一维数组
一维数组,不递归的话,空间复杂度为O(n)。
递归n次,乘以n,所以空间复杂度为O(n^2)。