一、时间复杂度
1、时间复杂度:程序运行所需要的时间
2、时间复杂度的判断:
1.忽略常数项
2.忽略系数
3.只保留最高项
3、时间复杂度的用处:
1.判断代码是否会TLE
2.通过题目给的数据范围反推算法(比较难)
4、表示为O(x)(注:二分查找时间复杂度为O(logn),详情见代码)
while (l < r)
{
int mid = l + r >> 1;
if (a[mid] >= x)
{
r = mid;
}
else
{
l = mid + 1;
}
}
二、空间复杂度
大部分情况下不会受限。