我想使用图的分区作为 std::map 的键
我可以将其表示为节点的标准 vector 。或者我可以将其转换为更紧凑的“自定义”二进制格式(位集?)或字符串表示形式。
为了简单起见,我们可以说图的划分没有内在的顺序。
哪个在插入和查找方面最快(注意这个映射的大小将在十亿个节点的数量级)
最佳答案
保留您的 key 类型,但使用 boost 的 unordered_map
并为您的图形分区编写您自己的 hash()
函数。
例如,如果顺序无关紧要,您可以以顺序不变的方式散列每个节点。如果您现在发布编码方式,我们可以提供更多帮助。
关于c++ - std::map 键的最快类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3537842/