python 斐波那契数列缓存方式实现
2017-07-13 16:06
459 查看
#!/usr/bin/env python3 # -*- coding: utf-8 -*- ' a test module ' __author__ = 'Zhang Shuai' from functools import wraps import time def memory(func): l = {} @wraps(func) def wrap(n): if n not in l: #若以经计算过直接在list中返回,没有则计算 l = func(n) return l return wrap @memory def fib(n): time.clock() if 1<n<=3: return 1 elif n==1: return 0 else: return fib(n-1) +fib(n-2) print(time.clock()) print(fib(100)) print(time.clock())
使用装饰器缓存后,计算时间大幅度改善。
相关文章推荐
- python用迭代器的方式实现斐波那契数列
- 分别用的列表,递归,生成器三种方式创建出n个元素的斐波那契数列(Python3实现)
- 详解python使用递归、尾递归、循环三种方式实现斐波那契数列
- python实现的web方式logview
- Python:使用threading模块实现多线程编程二[两种方式起线程]
- dbmgr数据缓存实现方式
- python超简单实现斐波那契数列
- python中package机制的两种实现方式(转载)
- 浏览器三种刷新方式的缓存机制-----单点登录SSO的实现原理---PHP版单点登陆实现方案
- RTSP客户端模拟器(TCP方式,Python实现)
- 用 Python实现C的读入方式
- Python实现:斐波那契数列、交换两个变量的值、从一组数据中找出最大最小值
- Run As(运行方式) 的几种代码实现方式(Python和C#)
- Python:使用threading模块实现多线程编程二[两种方式起线程]
- python实现的斐波那契数列
- Python 最近因开发项目的需要,有一个需求,就是很多SNS网站都有的通过 Email地址 导入好友列表,不过这次要导入的不是Email 列表,而是QQ的好友列表。 实现方式: 通过goog
- python中package机制的两种实现方式
- python中package机制的两种实现方式
- python中package机制的两种实现方式
- Python:使用threading模块实现多线程编程二[两种方式起线程]