如何找到以下函数的时间复杂度?
How to find the time complexity of the below function?
我很难计算出下面这个函数的时间复杂度。请帮忙看看如何解决这个问题?
int sumOfDigits(int n){
int sum;`
if(n < 10){
return n;
}
sum = (n % 10) + sumOfDigits(n / 10);
return sum;
}
该函数考虑数字 n
和 returns 的每个数字的总和。
迭代次数为⌊log10(n)⌋ + 1
,取决于n
的位数。因此,T(n) = O(log n)
我很难计算出下面这个函数的时间复杂度。请帮忙看看如何解决这个问题?
int sumOfDigits(int n){
int sum;`
if(n < 10){
return n;
}
sum = (n % 10) + sumOfDigits(n / 10);
return sum;
}
该函数考虑数字 n
和 returns 的每个数字的总和。
迭代次数为⌊log10(n)⌋ + 1
,取决于n
的位数。因此,T(n) = O(log n)