以下函数的运行时间复杂度是O(1)吗?
int pow(int a, int n) {
if (n == 0) {
return 1;
}
if (n % 2 == 1) {
return pow(a, n / 2) * pow(a, n / 2) * a;
} else {
return pow(a, n / 2) * pow(a, n / 2);
}
}
Run Code Online (Sandbox Code Playgroud)
我对这种印象很深,因为代码中只有if语句,没有循环。我从来没有与大O和递归工作,我不能在网上找到任何好的资源。