随笔:函数记忆

原创 郭兴旺 随笔 学习笔记 680阅读 2016-10-14 00:30:26 举报

1.什么是函数记忆?
让函数记住处理过的参数和处理结果
2.为什么用函数记忆?
避免重复计算
3.什么时候用函数记忆?
只要一个函数可能反复计算相同数据时。
4.怎么用?
使用闭包保存曾经计算过的参数和处理结果

随笔:函数记忆

上面函数isPrime1()用来判断一个数是不是质数。假如说一个人要知道111是不是质数,那么就需要调用一次。另一个人也想知道111是不是质数,那么也要调用一次。一百个人要知道,就要调用100次。
那么如果有函数记忆功能呢?

随笔:函数记忆
上面函数isPrime2采用闭包。声明了一个hash对象,每次查询时先在hash里面找,找到的话后面的代码不执行,找不到,后面的代码执行并把结果存储在hash中。
我们来测试一下两种方式的运行效率:

随笔:函数记忆
首先,在数组arr中存放1000000个数字,当然有很多是重复的。
那么同一组数分别用2个函数测试的执行时间是:

随笔:函数记忆
可以看出函数2的运行速度几乎是函数1的3倍。

PS:本人也在学习中,不足之处请多指教!

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复