一:时间复杂度
时间复杂度指的是执行算法所需要计算的工作量,记作 T(n) = O(f(n))。
for循环的时间复杂度取决与for循环的层数:T(n) = O(n^x),x表示for循环的层数。
二分法时间复杂度为 T(n) = O(logn)。
for循环嵌套一个二分时间复杂度为 T(n) = O(nlogn)。
二:空间复杂度
空间复杂度是对算法在运行过程中临时占用存储空间大小的度量。记作 S(n) = O(f(n))。
一个算法的时间复杂度只考虑在运行过程中为局部变量分配的存储空间的大小,包括在参数表中为形参变量分配的存储空间和为函数中局部变量分配的存储空间两部分。