递归
在代码编写中,虽说递归方便操作,但由于计算机对每一层递归进行压栈操作,所以过多层的递归容易造成栈溢出,效率也比一般的循环算法低。同时,由于递归重复调用自身,在对程序进行手动调试时也会因为逻辑较为复杂而降低效率。但是,在一些特定的情况下,递归是最适合解决问题的算法。
大部分递归算法是可以用循环结构来解决的
点击查看代码
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n - 1)
点击查看代码
def factorial(n):
result = 1
for i in range(1, n + 1):
result *= i
return result

浙公网安备 33010602011771号