Big-O 表記を学習しようとしていますが、再帰関数の時間計算量を計算するのが困難です。
次の例の時間の複雑さを理解するのを手伝ってもらえますか?
public int recursiveFunction(int n) {
if (n == 0) {
return 0;
}
return Math.max(recursiveFunction(rand(n)) + 2,recursiveFunction(n - 1));
}
public int rand(int n) {
return new Random().nextInt(n - 1);
}
ありがとう。