由递归方式求的N的阶乘(即N,),时间复杂度是多少

如题所述

每次递归内部计算时间是常数,故O(n)。

用递归方法计算阶乘,函数表达式为f(n)=1 若n=0 f(n)=n*f(n-1),若n>0,如果n=0,就调用1次阶乘函数,如果n=1,就调用2次阶乘函数,如果n=2,就调用3次阶乘函数,如果n=3,就调用4次阶乘函数。

扩展资料:

注意事项:

利用递归树方法求算法复杂度,其实是提供了一个好的猜测,简单而直观。在递归树中每一个结点表示一个单一问题的代价,子问题对应某次递归函数调用,将树中每层中的代价求和,得到每层代价,然后将所有层的代价求和,得到所有层次的递归调用总代价。

递归树最适合用来生成好的猜测,然后可用代入法来验证猜测是否正确。当使用递归树来生成好的猜测时,常常要忍受一点儿不精确,因为关注的是如何寻找解的一个上界。

参考资料来源:百度百科-递归算法

参考资料来源:百度百科-阶乘

参考资料来源:百度百科-时间复杂度

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-24
o(n)线性时间复杂度
第2个回答  2018-12-14
递归求n的阶乘,会递归n次,每次递归内部计算时间是常数,故O(n)本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网