首页 > 试题广场 >

求整数n( n≥0)阶乘的算法如下,其时间复杂度是( )。

[单选题]

求整数n( n≥0)阶乘的算法如下,其时间复杂度是( )。

int fact(int n) 
{ 
    if(n<=1) 
        return 1; 
    return n*fact(n-1); 
}


  • O(log(n))
  • O(n)
  • O(nlog(n))
  • O(n^2)
使用递归计算阶乘递归调用了n次,所以问题规模是o(n)
发表于 2016-12-01 09:02:07 回复(0)
递推公式T(n)=1+T(n-1),求出T(n)=n
发表于 2018-12-17 21:55:02 回复(0)
调用fact函数n次,所以复杂度0(n)
发表于 2017-04-21 09:54:39 回复(0)
递归属于线性阶,N次  O(n)
发表于 2019-12-29 21:04:55 回复(0)