2012-01-06 25 views
2

Zobristキーは、ツリー検索中に見つかった異なる位置を一義的に表すためにボードゲームで使用される64ビットハッシュ値です。それらは通常、1000K個以上のサイズのアレイに格納されます(各エントリは約10バイト長です)。テーブルは通常、インデックスとしてhashKey % sizeによってアクセスされます。どのような種類のSTLコンテナを使用してこのようなテーブルを表現しますか?テーブルのサイズが制限されているので、衝突が発生する可能性があることを考慮してください。 "普通の"配列では、このケースを処理する必要があるので、unordered_mapを考えましたが、実装が指定されていないので、マップのデータがどのように効率的に配置されるかわかりません。Zobristキーの効率的なデータ構造

+0

'map'が必要か' set'で十分でしょうか? –

答えて

1

私には標準のハッシュマップがあなたによく合っているようです。非常に速く検索し、あなたのための衝突を確実に、目に見えないように処理します。

0

STL以外の地域を探索したい場合はJudy arraysをご覧ください:これらはあなたの問題に合っているはずです。あなたは、Linux上にある場合

あなたは

Thisアプリケーション・ノートでは、あなたのタスクを解決するために助けることができる...ちょうどあなたのリポジトリからインストールする、非常に簡単にそれらを試してみることができます。

EDIT

this STLインターフェイスがあります:私は、私は私の結果を報告します、それを試すつもりです。

関連する問題