memoization

    2熱度

    1回答

    我想在我的node.js後端上使用Memoizee,以加快請求速度。 但由於某種原因,我不能像我想要的那樣工作。我有一個路由,它等待另一個方法的回調,但無論我將結果保存在緩存中多久,它都會每次運行整個方法。 我在做什麼錯? 這裏是我的實施示例。 var memoize = require('memoizee'); module.exports = function (app) { app.

    3熱度

    2回答

    如果有人能夠以簡單的方式逐步解釋發生的事情,這將非常有幫助。我知道memoize()緩存的功能,但我需要更好的理解。謝謝! var memoize = function (f) { var cache = {}; return function() { var str = JSON.stringify(arguments); cache[str] = cac

    7熱度

    4回答

    給定一個數組或具有n個鍵的對象,我需要找到長度爲x的所有組合。 鑑於X是可變的。 binomial_coefficient(n,x)。 目前我使用的是這樣的: function combine(items) { var result = []; var f = function(prefix, items) { for (var i = 0; i < items.l

    1熱度

    2回答

    我有一個帶有兩個參數的成員函數。兩者都是指向複雜對象的指針。當被調用時,該函數執行一些不重要的計算,然後返回一個整數。就像這樣: struct Fooer { int foo(const A* a, const B* b); }; 如果foo()給出兩個相同的參數返回整數始終是相同的。這個函數的用處很大,所以記憶它的結果是有意義的。通常情況下,一些查找表的關鍵是指針對就足夠了。然而

    1熱度

    1回答

    首先,這裏是我的HOC: export default function connectField({ nameProp = 'name', valueProp = 'value', dispatchProp = 'dispatch' }: ConnectOptions) { return compose( getContext(

    0熱度

    1回答

    動態規劃由於我是新來的動態規劃。有人可以幫助我實現算法的記憶技術以解決以下問題。 有N行和M列的2D矩陣。行從上到下從0到N-1,從左到右從0到M-1。你站在(0,0)。 從,A [i] [j]就可以移動到第[i + 1] [j]的如果A [1 + 1] [j]的> A [i] [j]。或者,如果A [i] [j + 1]> A [i] [j],則可以將A [i] [j]移動到A [i] [j +

    2熱度

    1回答

    我正在使用F#語言,經過測試,我發現運行時花費超過90%的時間來比較平等。因爲這種語言太慢而無法使用。在檢測過程中,GetHashCode函數在列表中顯示出相當高的值作爲開銷的來源。發生什麼是在方法調用期間,我正在使用方法體(Expr)以及調用參數作爲字典中的鍵,並觸發對AST段的重複遍歷。 爲了提高性能,我想在AST增加記憶化的節點。 type Expr = | Add of Expr * E

    1熱度

    1回答

    我有一個工具可以通過文件系統對某些文件進行併發搜索。當該工具通過fs進行搜索時,可能會發現它需要在最初未包含在搜索中的目錄中進行搜索。 我應該做的是記住每個已經開始搜索的目錄。 我想不出更好的方式來memoize的只是將它們存儲在一個哈希像這樣的文件路徑: interface IMemoizationMap { [key: string]: boolean } ,這樣可能看起來像:

    0熱度

    1回答

    使用Memoized方法我有一個memoizer功能,像這樣: static Func<A, R> Memoize<A, R>(this Func<A, R> f) { var cache = new ConcurrentDictionary<A, R>(); return argument => cache.GetOrAdd(argument, f); } 而且我也有

    0熱度

    1回答

    我有以下的代碼實現,而不是使用引用變量「X」來存儲整體最大這個問題的遞歸解決方案,如何我還是我可以返回結果從遞歸,所以我不必使用'x'這將有助於memoization? // Test Cases: // Input: {1, 101, 2, 3, 100, 4, 5} Output: 106 // Input: {3, 4, 5, 10} Output: 22 int sum(vecto