問題タブ [prefix-tree]
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.
java - 文字列キー部分の再利用による Java インメモリ マップ
マップには何万ものレコードがあります。マップ キーは , のような文字列s3://mybucket/some/path/2021/03/03/file.txt
でs3://mybucket/some/path/2021/03/04/file.txt
、値は0
または1
です。これまで HashMap を使用していましたが、メモリ使用量が多すぎるため、減らしたいと考えています。
キー値であり、キーパーツの再利用性を利用するものを探しています。自然に頭に浮かぶのは、プレフィックスを格納するために何らかのツリー構造を使用することです。
誰かが適切な実装、できれば軽量を指摘できますか?
algorithm - リーフ ノードとその深さだけを指定してプレフィックス ツリーを構築する方法
ペアのベクトル (symbol : その符号語の長さ) を指定して、シンボルのバイナリ ハフマン ツリーを作成します。そのようなツリーが存在しない場合はエラーになります。
たとえば、入力 { a : 1, b : 2, c: 2} が与えられた場合、出力ツリーは次のようになります。