私は整数値を参照するキーとして文字列を持つデータ構造を持っています。私はすべてのStringキーをメモリに収めることができません。私の最も重要な焦点は、高速検索を実行することです。これを(ツールやライブラリなしで)自分自身で実装しようとすると、ノードが文字列のutf-8バイトの値であるb-treeを実装することを考えていました。深さは文字列内の位置に対応します。しかし、ある時点では、ツリー全体がメモリに収まりきらないため、ツリーをディスク上に永続化する必要があります。私はこれに多くの最適化を想像することができますが、私は書く時間がありません。私が始め始める前に、これのようなツールがすでに存在するかどうか疑問に思っていましたか?おそらくルシネがそのトリックをするかもしれないが、正確なマッチング(あいまいではない)が必要なので、わからない。何か案は?ありがとう。効率的なルックアップとディスク永続性を備えた文字列キーマップの検索
1
A
答えて
1
2
試行Redis。永続的なデータ構造を提供します。
0
多分これは簡単です - なぜmd5やsha1のようなハッシュ戦略を使用しないのですか?明らかに、ハッシュを行う時間は重要な要素になります。実際の文字列の値を知る必要がある場合は問題は解決しませんが、おそらくそうではありません。
関連する問題
- 1. 効率的な検索のためのプリプロセス文字列
- 2. 大きな文字列を効率的に検索する
- 3. DynamoDbの効率的な文字列検索
- 4. pythonの効率的な部分文字列検索
- 5. ルールリストに対するtclの効率的な文字列検索
- 6. 文字列のリストで文字列を効率的に検索するには?
- 7. 複数の厳密な文字列のための弾性の効率的な検索クエリ
- 8. 大文字と小文字を区別しないasciiサブ文字列を効率的に検索
- 9. 準備文の検索文字列
- 10. 効率的なJSP/Tomcat永続ストア?
- 11. マングース効率的な検索と移入
- 12. 効率的な文字列の比較
- 13. 巨大なファイルを検索して文字列を検索する効率的な方法は何ですか?
- 14. jQueryを使用したJavascriptの効率的な検索配列
- 15. Cで文字列の配列内の文字列を効率的に検索する(大文字と小文字を区別しない)
- 16. matlabメモリマップの効率的なバイトパターン検索
- 17. インデックスの効率的な検索方法
- 18. 効率的なMySQLの検索
- 19. リストの効率的な検索
- 20. テーブル内の複数の列にわたる効率的なワイルドカード文字列検索
- 21. EhCacheディスクの永続性 - 任意のオブジェクトを永続化する
- 22. 効率的なネットワーク検索ですか?
- 23. ジャンゴ:効率的なデータベース検索
- 24. 巨大な多次元行列の効率的な検索
- 25. mongoの複数の文字列フィールドにわたる効率的なテキスト検索(nodejsを使用)
- 26. 弾性検索:この文書が与えられた文字列配列
- 27. パンダのデータフレーム内の文字列の最初の文字を効率的に検索
- 28. djangoの効率性クエリーセットの検索
- 29. スパース行列の効率的な最近傍検索
- 30. 文字列の永続ハッシュコード
なぜデータベースを使用するだけではないのですか?彼らはこのようなことをしっかりとしており、インデックスを使ってビルドされたこのBツリーロジックをすべて持っていますか? – dcp
'HashMap'を何とかしてディスクストレージを使う方法を模倣するのはどうですか?単純なハッシュマップを使用して、VMにページングを処理させますか? –
ディスクベースのbツリーとトライの要素を組み合わせて、実際にスペース効率の良いインデックス作成アルゴリズムを得ることができます。または、発明されたホイールのためにBerkeley DBを見てください。 – Perception