时间复杂度与空间复杂度

文章类型:算法

发布者:hp

发布时间:2023-05-20

时间复杂度(Time Complexity)和空间复杂度(Space Complexity)用于衡量算法执行时间和所需内存空间的性能

一:定义

1:时间复杂度:描述了算法在执行过程中所需的时间量

2:空间复杂度:描述了算法在执行过程中所需的内存空间量

二:类别

1:时间复杂度

常数时间 O(1):算法的执行时间是固定的,与输入规模无关。

线性时间 O(n):算法的执行时间与输入规模呈线性关系。

对数时间 O(log n):算法的执行时间随着输入规模的增加而增加,但增长速度较慢。

平方时间 O(n^2):算法的执行时间与输入规模的平方成正比,增长较快。

指数时间 O(2^n):算法的执行时间随着输入规模的增加而指数级增长,增长最快

2:空间复杂度

常数空间 O(1):算法的额外空间使用是固定的,与输入规模无关。

线性空间 O(n):算法的额外空间使用与输入规模呈线性关系。

对数空间 O(log n):算法的额外空间使用随着输入规模的增加而增加,但增长速度较慢。

平方空间 O(n^2):算法的额外空间使用与输入规模的平方成正比,增长较快。

指数空间 O(2^n):算法的额外空间使用随着输入规模的增加而指数级增长,增长最快

三:总结

1:时间复杂度分析的重点是算法的增长率,即随着输入规模的增加,算法执行时间的增长趋势

2:空间复杂度分析的重点是算法所使用的额外空间随着输入规模的增加而增加的趋势