在地图中已存在元素的情况下,提供std::map::insert
或std::map::assign
的时间复杂度是多少? CPP-Reference表示它与emplace_hint
相同,后者表示:
“如果在提示之前插入新元素,则分摊常量”
但是:
lower_bound
还是upper_bound
?答案 0 :(得分:0)
如果密钥已经存在,那么它甚至比这更简单,不需要在地图中添加新节点,只需要一个赋值,所以再次,转换为O(1)。单词“就在提示之前”表示提示应略高于映射的键,即upper_bound
。