C++ Zobrist密钥的高效数据结构
Zobrist键是棋盘游戏中使用的64位散列值,以单音形式表示在树搜索过程中找到的不同位置。它们通常存储在大小为1000K或更大的数组中(每个条目大约10字节长)。该表通常通过C++ Zobrist密钥的高效数据结构,c++,C++,Zobrist键是棋盘游戏中使用的64位散列值,以单音形式表示在树搜索过程中找到的不同位置。它们通常存储在大小为1000K或更大的数组中(每个条目大约10字节长)。该表通常通过hashKey%size作为索引访问。您将使用什么样的STL容器来表示这种表?考虑到由于桌子的大小有限,碰撞可能会发生。对于“普通”数组,我必须处理这种情况,因此我想到了无序的_映射,但由于没有指定实现,我不确定在填充映射时它的效率如何 在我看来,一个标准的hashmap非常适合你-非常快速的查找,它将为你可靠地、不可见地
hashKey%size
作为索引访问。您将使用什么样的STL容器来表示这种表?考虑到由于桌子的大小有限,碰撞可能会发生。对于“普通”数组,我必须处理这种情况,因此我想到了无序的_映射,但由于没有指定实现,我不确定在填充映射时它的效率如何 在我看来,一个标准的hashmap非常适合你-非常快速的查找,它将为你可靠地、不可见地处理冲突。如果你想探索STL之外的其他领域,看看:这些应该适合你的问题
如果你在Linux上,你可以很容易地使用它们进行实验,只需从你的存储库中安装
申请说明有助于解决您的任务
编辑
有STL接口:我将对其进行实验,然后报告结果。您需要
地图
还是集合
就足够了?