100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 用 js判断 一个数是否是素数(质数)_JS专题之memoization

用 js判断 一个数是否是素数(质数)_JS专题之memoization

时间:2021-02-07 07:46:06

相关推荐

用 js判断 一个数是否是素数(质数)_JS专题之memoization

前言

在计算机领域,记忆(memoization)是主要用于加速程序计算的一种优化技术,它使得函数避免重复演算之前已被处理过的输入,而返回已缓存的结果。 -- wikipedia

Memoization的原理就是把函数的每次执行结果都放入一个对象中,在接下来的执行中,在对象中查找是否已经有相应执行过的值,如果有,直接返回该值,没有才真正执行函数体的求值部分。在对象里找值是要比执行函数的速度要快的。

另外,Memoization只适用于确定性算法,对于相同的输入总是生成相同的输出,即纯函数。

一、简单实现

通过 Memoization 的定义和原理,我们就可以初步实现 Memoization 了。

let memoize = function(func) {let cache = {};return function(key) {if (!cache[key])cache[key] = func.apply(this, arguments);return cache[key];}}

是不是很

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。