我们有48,16,703个此格式的条目。
1 abc
2 def
...
...
4816702 blah
4816703 blah_blah
由于输入的条目数量很大,我担心std::map在插入时需要进行平衡操作,因此会花费很长时间。
仅将这些条目插入到映射中就需要很长时间。我正在进行...
map[first] = second;
两个问题: 1. 我是否正确地使用std::map来处理这些情况? 2. 我是否正确地像上面那样插入?还是应该使用map.insert()?
很抱歉我没有做实验并写出绝对数字,但我们想要一个普遍的共识,我们是否在做正确的事情。
另外,键不总是连续的。
P.S. 当然,后来我们也需要访问该映射以获取与键对应的值。
std::unordered_map
应该更合适,因为它的插入平均时间复杂度是常数。 - Daniel Langrmap.insert(map.end(), {first, second})
。演示。即使它们大多数是连续的,这也是一个胜利。 - n. m.