Algorithm 递归func(inta,intn)和返回a*func(a,n-1)的时间复杂度是多少?
我正在学习算法,我想知道这个函数的时间复杂度是多少?该函数计算Algorithm 递归func(inta,intn)和返回a*func(a,n-1)的时间复杂度是多少?,algorithm,time-complexity,Algorithm,Time Complexity,我正在学习算法,我想知道这个函数的时间复杂度是多少?该函数计算a^n 此功能将在系统堆栈(分配给程序)上按不同参数的n时间 因此,时间复杂度为O(n) 如果递归对你来说是很难想象的,那么考虑它类似于使用循环计算。循环将运行n次 例如: int func(int a, int n){ if (n==0) return 1; else return a*func(a,n-1); } 函数幂(a,n){ ans=1; 对于(int i=1;i function power(
a^n
此功能将在系统堆栈(分配给程序)上按不同参数的n
时间
因此,时间复杂度为O(n)
如果递归对你来说是很难想象的,那么考虑它类似于使用循环计算。循环将运行
n
次
例如:
int func(int a, int n){
if (n==0) return 1;
else return a*func(a,n-1);
}
函数幂(a,n){
ans=1;
对于(int i=1;i
function power(a, n){
ans = 1;
for(int i=1; i<=n;i++){
ans = ans * a;
}
return ans;
}