当前位置: 移动技术网 > IT编程>脚本编程>Python > 牺牲空间来优化时间

牺牲空间来优化时间

2019年07月10日  | 移动技术网IT编程  | 我要评论

凋零雄鹰,夏爱熙,曹榴邀请码

算例:生成fibonacci数列

【方法一】秒出结果!

1 a, b = 0, 1
2 for num in range(1, 101)
3     a, b = b, a + b
4     print(f'{num}: {a}')

【方法二】时间消耗特别长!

def fib(num):
    if num in (1, 2):
        return 1
    return fib(num - 1) + fib(num - 2)

for num in range(1, 101):
    print(f'{num}: {fib(num)}')

 

【方法二改进】时间与空间不可兼得,要想优化时间,那就增加额外的存储空间!

1 def fib(num, temp = {})
2     if num in (1, 2):
3         return 1
4     if num not in temp:
5         temp[num] = fib(num - 1) + fib(num - 2)
6     return temp[num]
7 
8 for num in range(1, 101)
9     print(f'{num}: {fib(num)}')

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网