[英]What is the Time Complexity of std::multiset::count in C++?
我對在大小為 n的多重集中為某些元素 x調用 count(x) 時發生的操作數量感到困惑。
我是否正確操作數是 log(n) + #_of_matches_of_x,這意味着多重集中元素數量的對數加上多重集中所有元素中目標元素 x 的匹配數?
謝謝你的時間!
正如參考鏈接所提到的,計數的復雜性是:
容器大小的對數加上找到的元素數量的線性。
原因是std::multimap
是一個樹狀數據結構,每個樹節點都有一個容器。 因此,在調用std::multimap::count
時,您應該首先在樹中找到鍵O(log(All elements))
,然后計算找到的節點中的元素(O(found elements))
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.