算法效率的度量-时间空间复杂度

常对幂指阶

1.时间复杂度

事前预估 算法 时间开销 T(n) 问题规模 n 的关系( T 表示 “ time ”)

一般默认问题规模为n。 

1.单循环

 算法效率的度量-时间空间复杂度_第1张图片

 2.嵌套两层循环都为n

算法效率的度量-时间空间复杂度_第2张图片 3.单层循环指数递增型

算法效率的度量-时间空间复杂度_第3张图片

4.搜索型

链接 :第七章查找算法!!!

算法效率的度量-时间空间复杂度_第4张图片

2.空间复杂度

 空间复杂度,与算法运行时所需的内存空间有关。

默认问题规模为n。

举例案例,具体分析。

算法效率的度量-时间空间复杂度_第5张图片

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)。

你可能感兴趣的:(#,数据结构,算法)