- 时间复杂度有以下规则:
算法函数中的常数可以忽略
算法函数中最高次幂的常数因子可以忽略
算法函数中最好次幂越小,算法效率越高
- 用大写O()表示法来表示时间复杂度。
例1:时间复杂度O(1)
//算法1
int sum = 0;
int n = 100;
sum = (n+1)*n/2; //执行一次
System.out.println("和是:"+sum);
例2:时间复杂度O(n)
//算法2
int sum = 0;
int n = 100;
for (int i = 0; i < n; i++) {
sum += i; //执行n次
}
System.out.println("和是:"+sum);
例3:时间复杂度:O(n^2)
//算法3
int sum = 0;
int n = 100;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
sum += i; //执行n^2次
}
}
System.out.println("和是:"+sum);
- 时间复杂度排序
O(1)<O(logn)<O(n)<O(nlogn)<O(n^2)<O(指数阶)