簡體   English   中英

C++ 中 std::multiset::count 的時間復雜度是多少?

[英]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))

站點明確指出 multiset::count 的復雜性是

大小成對數,匹配數成線性。

或者你可以看看這個

容器大小的對數加上找到的元素數量的線性。

好吧,我為您提取了一篇有趣的文章。 鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM