import time
# 初始化备忘录
F_store = []
F_store.append(1)
F_store.append(1)
# 动态规划求解
def f(n):
if n <= 1:
return F_store[n]
else:
if n >= len(F_store):
F_store.append(f(n-1)+f(n-2))
return F_store[n]
# 普通递归求解
def F(n):
if n <= 1:
return 1
else:
return F(n-1)+F(n-2)
if __name__=='__main__':
start = time.time()
print(f(30))
end = time.time()
print(F(30))
end2 = time.time()
print((end - start) * 1000)
print((end2 - end) * 1000)
运算结果:
121393
121393
0.0
30.916213989257812
472

被折叠的 条评论
为什么被折叠?



