时间复杂度是指算法执行语句执行的次数。
常见的时间复杂度有:常数阶O(1),对数阶O(log2n),线性阶O(n), 线性对数阶O(nlog2n),平方阶O(n^2),立方阶O(n^3) k次方阶,指数阶O(2^n)。
注意★O(1)表示常数次,这个常数次可以很大
★用常数1取代运行时间中的所有加法常数。
★在修改后的运行次数函数中,只保留最高阶项。
★如果最高阶项存在且不是1,则去除与这个项目相乘的常数。得到的结果就是大O阶。
例1
for(int i=0; i<n; i++){
for(int j=i; j<n; j++){
System.out.println("执⾏⼀次");
}
}
i=0时,j=0,j循环执行n次
i=1时,j=1,j循环执行n-1次
i=2时,j=2,j循环执行n-2次
i=n-1时,j=n-1,j循环执行1次
Sn=n*(n+1)/2