public static long pow_2(long x, int n) {
if (n == 0)
return 1;
if (n == 1)
return x;
if (n % 2 == 0) {
return pow_2( x, n / 2 ) * pow_2( x, n / 2 );
}
else {
return pow_2(x * x, n / 2) * x;
}
}
空间复杂度不是OLog(n)吗,因为您每次调用时都要对堆栈主框架进行n / 2次调用?
时间复杂度不是O(2 ^ n),因为我们每次都会从函数中调用两次吗?
我正在使用Java。