Zobristキーは、ツリー検索中に見つかった異なる位置を一義的に表すためにボードゲームで使用される64ビットハッシュ値です。それらは通常、1000K個以上のサイズのアレイに格納されます(各エントリは約10バイト長です)。テーブルは通常、インデックスとしてhashKey % size
によってアクセスされます。どのような種類のSTLコンテナを使用してこのようなテーブルを表現しますか?テーブルのサイズが制限されているので、衝突が発生する可能性があることを考慮してください。 "普通の"配列では、このケースを処理する必要があるので、unordered_mapを考えましたが、実装が指定されていないので、マップのデータがどのように効率的に配置されるかわかりません。Zobristキーの効率的なデータ構造
2
A
答えて
1
私には標準のハッシュマップがあなたによく合っているようです。非常に速く検索し、あなたのための衝突を確実に、目に見えないように処理します。
0
STL以外の地域を探索したい場合はJudy arraysをご覧ください:これらはあなたの問題に合っているはずです。あなたは、Linux上にある場合
あなたは
Thisアプリケーション・ノートでは、あなたのタスクを解決するために助けることができる...ちょうどあなたのリポジトリからインストールする、非常に簡単にそれらを試してみることができます。
EDIT
this STLインターフェイスがあります:私は、私は私の結果を報告します、それを試すつもりです。
関連する問題
- 1. リーダーボードの効率的なデータ構造
- 2. ファイアベースの効率的なデータ構造化?
- 3. C++の効率的なテンプレート構造
- 4. 効率的なMongoDBデータベース構造
- 5. 挿入のための効率的なデータ構造
- 6. 双方向ランダムアクセスのためのC++効率的なデータ構造
- 7. Firebase - 効率的なインデックス作成のためのデータ構造
- 8. 効率的なadd、remove、random.choiceのためのPythonデータ構造
- 9. ipv4ストレージのデータ構造+アルゴリズム - プレフィックスの効率的な検索
- 10. グラフのサブセットを格納する効率的なデータ構造
- 11. 効率的な辞書ベースのデータ構造
- 12. 大きなデータ構造を効率的に返す方法。
- 13. データ構造のようなデータベース内のANDの効率的な実装
- 14. 静的配列を持つC++の効率的な構造コピー
- 15. Adaの効率的で合理的なパッケージ仕様(ADS)構造
- 16. 効率的なキー/値テーブル
- 17. 要素の効率的な挿入のためのデータ構造の選択
- 18. Matlabの構造ではなく効率的な実装方法
- 19. C++:効率的なカスタムデータの挿入と取得のためのデータ構造
- 20. 高速ランダムアクセス、検索、挿入、削除のための効率的なデータ構造
- 21. 効率的な追加のためにJuliaで推奨されるデータ構造
- 22. Javaでメモリキャッシュの効率的なデータ構造を作成するには?
- 23. オブジェクトの効率的な検索を可能にするデータ構造
- 24. 評価システムのための効率的なMySQLテーブル構造
- 25. Armadillo C++: - キューブ構造の列の効率的なアクセス
- 26. エリクシール構造体アクセス効率
- 27. wordpressデータベース(wp_post_meta)構造効率
- 28. 明示的なデータ構造と明示的なデータ構造
- 29. Haskell:メモリブロックを効率的にモデル化する純粋なデータ構造ですか?
- 30. 読み取り専用ディクショナリアクセスで最も効率的なメモリ内データ構造
'map'が必要か' set'で十分でしょうか? –