Mat*_*our 1 java time-complexity
我想知道以下代码的时间复杂度是 O(n^3) 还是 O(n^2)
public void firstMethod() {
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 6; j++) {
secondMethod();
}
}
}
public void secondMethod(){
for (int i = 0; i < 6; i++) {
System.out.println("This is a test to observe complexity");
}
}
Run Code Online (Sandbox Code Playgroud)
这是 O(1),因为运行时间是恒定的。每个循环的边界永远不会改变,因此该方法的运行时间永远不会改变。
现在,您是否写了以下内容:
public void firstMethod(int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
secondMethod(n);
}
}
}
public void secondMethod(int n) {
for (int i = 0; i < n; i++) {
System.out.println("This is a test to observe complexity");
}
}
Run Code Online (Sandbox Code Playgroud)
那么 firstMethod运行时复杂度将是 O(n^3)。