首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >std::multimap::equal_range的时间复杂度

std::multimap::equal_range的时间复杂度
EN

Stack Overflow用户
提问于 2011-05-13 02:23:38
回答 3查看 2.3K关注 0票数 5

下午好,我想知道std::multimap::equal_range的时间复杂度是多少?是Big-O(n)还是BIG-0(log )。我记得我读到过std::multimap::erase的时间复杂度是“被删除的序列的长度的对数加上线性时间。”[http://frank.mtsu.edu/~csjudy/STL/Multimap.html](http://frank.mtsu.edu/~csjudy/STL/Multimap.html)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-13 06:23:50

C++03标准,23.1.2中的表69 (“关联容器要求”)表明equal_range具有对数复杂度。

票数 4
EN

Stack Overflow用户

发布于 2011-05-13 02:35:24

equal_range是一个O(log )操作,返回lower_boundupper_bound对。

这意味着它将返回一个迭代器范围,从大于或等于搜索关键字的第一个关键字开始,到大于搜索关键字的第一个关键字结束。

票数 2
EN

Stack Overflow用户

发布于 2011-05-13 03:03:11

我从未真正找到过比SGI STL Programmer's Guide更好的此类信息来源。在本例中,您感兴趣的页面是排序的关联容器concept page,它在复杂性保证部分下声明:

的下界、上界和相等范围是对数的。1

..。

1这是一个比关联容器提供的更强大的保证。关联容器中的保证只适用于平均复杂度;允许最坏情况下的复杂度更高。然而,排序关联容器提供了最坏情况下的复杂度上限。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5982578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档