私は次のコードがn^3の大きなシータであると信じています、これは正しいですか?実行時間の複雑さ
for (int i = 0; i < n; i ++)
{ // A is an array of integers
if (A[i] == 0) {
for (int j = 0; j <= i; j++) {
if (A[i] == 0) {
for (int k = 0; k <= j; k++) {
A[i] = 1;
}
}
}
}
}
そして、forループ(N)回を記録実行します、そしてfuncが最大n再帰呼び出しで動作しますので、次の(n)がnlogの大きなシータ
for (int i = 1; i < n; i *= 2)
{
func(i);
}
void func(int x) {
if (x <= 1) return;
func(x-1);
}
です。
ありがとうございました!