基本思想:自己调用自己
递归与迭代的比较
阶乘实现
def factorial_dd(x):
ans=1
for i in range(x):
ans*=(i+1)
return ans
def factorial_rec(x):
if x==1:
return 1
else:
return x*factorial_rec(x-1)
生成斐波那契数列
def fabnacci_dd(n):
ans=[]
print(len(ans))
for i in range(1,n):
if i==2 or i==1:
ans.append(1)
print(ans,len(ans))
if i>=3:
ans.append(ans[i-2]+ans[i-1])
return ans
def fabnacci_rec(n):
if n<1:
return -1
elif n==2 or n==1:
return 1
else:
return fabnacci_rec(n-1)+fabnacci_rec(n-2)