使用 for 循环调用函数的复杂性
complexity of calling a function with a for loop
我对计算复杂性还很陌生,但我知道嵌套 for 循环的复杂度为 O(n^2)。在我的例子中,我有一个 for 循环调用一个函数,其中有一个 for 循环。复杂度会是 O(n) 还是更糟?
public static void main(String[] args) {
for(int i = 0; i < 10; i++){
if(i != 0){
System.out.println();
printt(i);
}
}
}
public static void printt(int i){
for(int j = 0; j <= 10; j++ ){
if(j !=0 ){
System.out.print(j*i+" ");
}
}
}
}
想想如果您 运行 这段代码执行的打印语句(第二个 itc)的数量。
最简单的推理方法是继续 运行 程序,您会注意到打印出 81 个值,这说明你知道你对外循环的每个 运行 调用了 9 次嵌套函数(又是 9 次)。所以它最终是 O(n^2).
我对计算复杂性还很陌生,但我知道嵌套 for 循环的复杂度为 O(n^2)。在我的例子中,我有一个 for 循环调用一个函数,其中有一个 for 循环。复杂度会是 O(n) 还是更糟?
public static void main(String[] args) {
for(int i = 0; i < 10; i++){
if(i != 0){
System.out.println();
printt(i);
}
}
}
public static void printt(int i){
for(int j = 0; j <= 10; j++ ){
if(j !=0 ){
System.out.print(j*i+" ");
}
}
}
}
想想如果您 运行 这段代码执行的打印语句(第二个 itc)的数量。
最简单的推理方法是继续 运行 程序,您会注意到打印出 81 个值,这说明你知道你对外循环的每个 运行 调用了 9 次嵌套函数(又是 9 次)。所以它最终是 O(n^2).