![](/img/trans.png)
[英]Efficient substitute for std::map::insert_or_assign with hint
[英]Complexity of std::map::insert_or_assign with hint
如果元素已經存在於地圖中,則std::map::insert
或std::map::assign
的時間復雜度是多少? CPP-Reference表示與emplace_hint
相同,后者表示:
“如果在提示之前插入新元素,則為攤銷常量”
但:
lower_bound
還是upper_bound
嗎? 如果鍵已經存在,那么它甚至比這更簡單,不需要將新節點添加到映射中,只需分配即可,因此再次攤銷O(1)。 單詞“在提示之前”暗示提示應略高於映射的鍵,即upper_bound
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.