ピーター:
この方法のための時間の複雑さがあるO(2^n)
私の教授によります。
私はこの方法のための時間の複雑さがあるべきと感じてO(n * 2^n)
いるので
ループ費用のためのアウター O(n)
ループ費用のためのインナー O(2^n)
public static int loop(int n) {
int j = 1;
for (int i = 0; i < n; i++) {
for (int k = j; k > 0; k--) {
System.out.println("Hello world");
}
j *= 2;
}
return j;
}
SomeDude:
このことを考慮:
以下の場合i = 0
:j = 1 -> 2^0
以下の場合i = 1
:j = 2 -> 2^1
以下の場合i = 2
:j = 4 -> 2^2
以下の場合i = 3
:j = 8 -> 2^3
....
以下の場合i = n-1
:j = 2^n-1
あなたはそれらのすべてを追加する場合:
2^0 + 2^1 + 2^2 +.....+2^(n-1) => order of 2^(n) -> 2^(n) - 1 to be precise
時間の複雑さがあるので、 O(2^n)