Zobrist键是在棋盘游戏中使用的64位散列值,用于明确表示在树搜索期间找到的不同位置。它们通常存储在大小为1000K或更多条目的数组中(每个条目长约10个字节)。该表通常由hashKey % size
作为索引访问。你用什么样的STL容器代表这种表?考虑一下,由于表的大小有限,可能会发生冲突。使用“普通”数组我将不得不处理这种情况,所以我想到了一个unordered_map,但由于没有指定实现,我不确定在填充地图时效率如何。
答案 0 :(得分:1)
在我看来,标准的hashmap非常适合你 - 非常快速的查找,它会可靠而无形地处理碰撞。
答案 1 :(得分:0)
如果您想探索STL之外的其他地区,请查看Judy arrays:这些应该适合您的问题。
如果你在Linux上,你可以很容易地试验它们,只需从你的存储库安装......
This应用说明可以帮助解决您的任务。
修改强>
有this STL界面:我要试验它,然后我会报告我的结果。