c++ - 拥有一张 map 的 map 还是一张非常大的 map 更有效率?

标签 c++ map

我将一些对象存储在 map 中(按字符串散列),但这些对象可按另一个字符串分类。 因此,我可以制作这些类别的 map ,并为每个类别保留该类别中对象的另一张 map 。

每当我从这个数据结构发出插入或获取请求时,我总是会知道类别。 这样更有效率吗?看起来是这样,除了我相信 map 的查找时间是 log(n) 之外,那么总体 yield 是什么?

最佳答案

只需使用真实数据测试更快的速度。

像“ map 的查找时间是 log(n)”这样的陈述可能会产生误导。仍然有一个任意的渐近常数在起作用。此外,如果您的数据或数据访问以非统一随机方式分布(通常情况如此),关于“最佳”的陈述会变得更加复杂。

就性能而言,没有什么比使用真实数据进行实际测量更有效了。

关于c++ - 拥有一张 map 的 map 还是一张非常大的 map 更有效率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7591711/

相关文章:

c++ - 多索引容器

c++ - g++ 输出与 Visual Studio 输出之间的差异。 float 变量

windows-7 - Windows现在必须重新启动,因为[我们的服务名称]服务意外终止

java - 类似字典的数据结构。这是一个好习惯吗?

c++11 - C++ 11 等效于 java.util.ConcurrentHashMap

map - 解释什么是 Hadoop 和 Map/Reduce 的最简单方法是什么?

c++ - Dijkstra 最短路径与 VertexList = ListS in boost graph

c++ - std::sort 和 compare-function with template 不起作用

ruby-on-rails - 在这种情况下,Ruby 的 map 方法如何工作?

c++ - STL图插入效率: [] vs.插入