【发布时间】:2021-06-30 18:47:21
【问题描述】:
迭代使用散列和链接实现的 unordered_map 的复杂性是多少?具体来说,这是否涉及遍历所有存储桶,在这种情况下,复杂性是 O(Buckets + NElements) 与理想的,例如O(NElements)
【问题讨论】:
-
来自iterator.requirements.general,“迭代器的所有类别只需要在恒定时间内(摊销)对给定类别可实现的那些功能。因此,迭代器的需求表和概念定义没有指定复杂。”所以增量是 O(1),穿过整个容器是 O(N)。
-
@1201ProgramAlarm:该要求似乎与迭代器适配器(以及范围提案中的过滤器等)不兼容。
标签: c++ c++11 unordered-map