我将一些对象存储在 map 中(按字符串散列),但这些对象可按另一个字符串分类。 因此,我可以制作这些类别的 map ,并为每个类别保留该类别中对象的另一张 map 。
每当我从这个数据结构发出插入或获取请求时,我总是会知道类别。 这样更有效率吗?看起来是这样,除了我相信 map 的查找时间是 log(n) 之外,那么总体 yield 是什么?
最佳答案
只需使用真实数据测试更快的速度。
像“ map 的查找时间是 log(n)”这样的陈述可能会产生误导。仍然有一个任意的渐近常数在起作用。此外,如果您的数据或数据访问以非统一随机方式分布(通常情况如此),关于“最佳”的陈述会变得更加复杂。
就性能而言,没有什么比使用真实数据进行实际测量更有效了。
关于c++ - 拥有一张 map 的 map 还是一张非常大的 map 更有效率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7591711/