問題タブ [memoization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
9211 参照

php - キャッシング関数はPHPになります

関数の結果をキャッシュするためのシンプルなツールを作成しています

ように見えます:

(関数とそのパラメーターは単なる例です)

助言がありますか?

0 投票する
8 に答える
13186 参照

ruby-on-rails - Ruby/Rails でメソッドをキャッシュするにはどうすればよいですか?

作成する必要がある別の Web サービスへの高価な (時間のかかる) 外部要求があり、それをキャッシュしたいと考えています。そこで、アプリケーションコントローラーに以下を入れて、このイディオムを使用しようとしました:

get_listings!コントローラーを呼び出すとすべて問題ありget_listingsませんが、Rails を呼び出すと、ブロックが指定されていないと不平を言います。そして、そのメソッドを調べると、実際にブロックが必要であることがわかり、さらに、そのメソッドはビューでのみ使用されるように見えますか? したがって、明記されていませんが、例は単なる疑似コードであると推測しています。

だから私の質問は、このようなものをどのようにキャッシュするのですか? 他の方法をいろいろ試しましたが、わかりませんでした。ありがとう!

0 投票する
3 に答える
20139 参照

java - Javaでのメモ化のさまざまな手法は何ですか?

私はこれを知っていますhttp://onjava.com/pub/a/onjava/2003/08/20/memoization.htmlしかし他に何かありますか?

0 投票する
5 に答える
10639 参照

scala - Scala でメモリ内の可変データ テーブルを格納するために使用する型は?

関数が呼び出されるたびに、指定された一連の引数値の結果がまだメモ化されていない場合、結果をメモリ内テーブルに入れたいと思います。1 つの列は結果を格納するためのもので、他の列は引数値を格納するためのものです。

これをどのように実装するのが最善ですか?引数には、いくつかの列挙型を含むさまざまなタイプがあります。

C# では、通常 DataTable を使用します。Scalaに同等のものはありますか?

0 投票する
2 に答える
13403 参照

ruby - Rubyで変数をどのように初期化しますか?

次の変数の初期化方法に違いはありますか?

変数を初期化する方法を共有し、長所と短所を述べてください。

0 投票する
2 に答える
402 参照

arrays - Data.Vector による動的プログラミング

Data.Vector を使用しており、現在、暗号化ハッシュ (Sha1) の計算に使用するベクトルの内容を計算する必要があります。以下のコードを作成しました。

これを作成したのは、ベクトルを埋める関数 f が途中で部分的な結果にアクセスできるようにするためです。確かに、このようなものが Data.Vector に既に存在しているはずですよね?

問題文は次のとおりです。完成した結果が配列になる動的計画法の問題を解こうとしています。配列サイズのサイズを知っており、それを埋めるための再帰関数があります。

0 投票する
4 に答える
335 参照

memoization - 「メモ化」という用語は何を意味しますか?

「メモ化」と「キャッシュ」という用語を比較し、ウィキペディアのメモ化エントリを読んで、人々は「メモ化」という用語を使用すると意味があることに同意しますか?

  • メモ化された結果はプロセスのメモリに保持されます。つまり、memcachedには保存されません。
  • フィボナッチなどの数学関数のように、時間の経過とともに変化する可能性のある値ではなく、関数を「メモ化」するだけです。たとえば、Web サイトの登録ユーザー数などです。

上記以外のことをしている場合、結果をキャッシュしているだけですか?

0 投票する
1 に答える
642 参照

f# - F#で末尾呼び出しに最適化された再帰関数をメモ化する

重複の可能性:
メモ化と末尾再帰を組み合わせる

したがって、以下は私が書いたコードであり、累積変数を使用して最適化された末尾呼び出しです。

これをどのようにメモしますか?メモ化しようとしたときに遭遇した問題は、再帰呼び出しがメモ化オブジェクトに移動する必要があるため、再帰オブジェクトが必要なことです。

それとももっと簡単で、私は経験が浅いだけですか?

0 投票する
4 に答える
1703 参照

javascript - 「JavaScript - 良い部分」の例 (セクション 4.15) の説明?

JS の初心者 :) Crockford の本のセクション 4.15 のコード部分の説明が必要です。

質問: fibonacci(15) を計算するにはどうすればよいですか? また、単純な fibonacci(15) 呼び出しの場合、詳細はどのように機能しますか?

手伝ってくれてありがとう。

0 投票する
1 に答える
425 参照

dynamic-programming - マトリックス内の連続したオールワン ブロック

エントリがすべて 0 または 1 の配列 M[1..m,1.. n] で表される mXn ビットマップが与えられたとします。すべて 1 のブロックは、M[i .. i0, j .. j0] で、すべてのビットが 1 に等しい. M 内のすべてが 1 で面積が最大のブロックを見つける効率の良いアルゴリズムを説明、解析してください。

動的プログラミング ソリューションを作成しようとしています。しかし、私の再帰アルゴリズムは O(n^n) 時間で実行され、メモ化の後でも O(n^4) 未満に下げることは考えられません。誰かがより効率的な解決策を見つけるのを手伝ってくれますか?