c++ - std::map 键的最快类型?

标签 c++ stl dictionary types key

我想使用图的分区作为 std::map 的键

我可以将其表示为节点的标准 vector 。或者我可以将其转换为更紧凑的“自定义”二进制格式(位集?)或字符串表示形式。

为了简单起见,我们可以说图的划分没有内在的顺序。

哪个在插入和查找方面最快(注意这个映射的大小将在十亿个节点的数量级)

最佳答案

保留您的 key 类型,但使用 boost 的 unordered_map 并为您的图形分区编写您自己的 hash() 函数。

例如,如果顺序无关紧要,您可以以顺序不变的方式散列每个节点。如果您现在发布编码方式,我们可以提供更多帮助。

关于c++ - std::map 键的最快类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3537842/

相关文章:

c++ - 如何调整集合迭代器使其表现得像 map 迭代器?

c++ - 我如何判断一个元组在 C++ 中是否为空

python - 字典条目都是一样的

python - 如何: Python UDF dictionary return schema in PIG

javascript - 将对象转换为对象字典

c++ - 在给定名称和签名的情况下调用共享库中的函数

c++ - 为什么 new 能够创建一个字符串数组?

c++ - 以结构为键的 std::map 未按预期工作

c++ - 在 MFC 中正确使用 static_cast

c++ - 获得std::set中间(中位数)的有效方法?