2012-01-06 4 views
2

Zobrist 키는 보드 검색 중에 발견되는 서로 다른 위치를 일 의적으로 나타 내기 위해 보드 게임에 사용되는 64 비트 해시 값입니다. 이들은 대개 1000K 개 항목 이상의 크기 (각 항목은 약 10 바이트 길이)의 배열에 저장됩니다. 테이블은 일반적으로 hashKey % size에 의해 색인으로 액세스됩니다. 이런 종류의 테이블을 나타 내기 위해 어떤 종류의 STL 컨테이너를 사용합니까? 테이블의 크기가 제한되어 있기 때문에 충돌이 발생할 수 있다고 생각하십시오. "일반"배열을 사용하면이 경우를 처리해야하므로 unordered_map을 생각해 보았습니다. 그러나 구현이 지정되지 않았으므로 맵이 채워지는 동안 얼마나 효율적인지 확신 할 수 없습니다.Zobrist 키의 효율적인 데이터 구조

+0

'map'이 필요하거나'set'으로 충분합니까? –

답변

1

나에게 표준 해시 맵이 당신에게 잘 어울리는 것처럼 보입니다. 매우 빠르게 찾아서 충돌을 확실하고 눈에 보이지 않게 처리합니다.

0

STL을 제외한 다른 지역을 탐험하고 싶다면 Judy arrays을 보시기 바랍니다. 귀하의 문제에 맞게 수정해야합니다. 당신이 리눅스에있는 경우

당신은

This 애플리케이션 노트는 사용자의 작업을 해결하는 데 도움을 줄 수 ... 당신의 저장소에서 설치, 아주 쉽게 실험 할 수 있습니다.

편집

this STL 인터페이스가있다 : 다음 내 결과를보고 있습니다, 그것으로 실험하는거야.

관련 문제