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