- 时间复杂度 O(n)
public static void main(String[] args) {
// n 是 10 ,只执行10次
int n = 10;
// n 变成 20了就会执行20次
// 执行的次数伴随着n 这就是 O(n)
n = 20;
for (int i = 0; i < n; i++) {
}
}
- 时间复杂度 O(2n)
public static void main(String[] args) {
int n = 10;
// 这种情况下 n 还是执行 10次
for (int i = 0; i < n; i++) {
// 内部循环会执行 2 次
for (int j = 0; j < 2; j++) {
// 所有 这就是 O(2n)
}
}
}
- 时间复杂度 O(n2)
public static void main(String[] args) {
int n = 10;
// 这种情况下 n 还是执行 10次
for (int i = 0; i < n; i++) {
// 这种情况下 j 还是执行 10次
for (int j = 0; j < n; j++) {
// 一共执行 100 次 相当于 n * n 也就是 O(n2)
}
}
}
- 时间复杂度O(logn)
public static void main(String[] args) {
int n = 4;
while ((n = (n/2)) > 0){
// n = 2 = 4 / 2;
// n = 1 = 2 / 2;
// 每次执行砍一半, 就是 O(logn)
}
}
- 时间复杂度O(1)
public static void main(String[] args) {
int n = 10;
// 直接取的操作 都是 O(1)
System.out.println(n);
}