1到100的阶乘 编出C语言程序后, 请问其时间复杂度怎么求?

如题所述


#include<stdio.h>

int func(int n)
{
if (n == 0 || n == 1)
return 1;
else
return n * func(n - 1);

}
int main()
{
int tmp = func(100);
printf("%d\n", tmp);
return 0;
}

时间复杂度是由语句频度分析得来. 递归算法中重复执行的语句主要是调用. 所以递归算法的时间复杂度分析主要是分析递归算法中递归函数调用的次数。时间复杂度用大O表示法为O(n)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-02-27
单层循环可以实现,复杂度O(n) n=100;
相似回答