【发布时间】:2014-10-05 06:56:48
【问题描述】:
我正在研究 C++ unordered_map 容器类型。我只是在使用operator[] 验证我从 C++ 网站上读到的关于元素访问的内容。
它表示时间复杂度通常是恒定的,但最坏的情况是线性时间。由于我的应用程序必须保证对地图内元素的持续时间访问,我想验证我对这个容器的理解。
每当我的应用程序访问此 unordered_map 内的元素时,它所寻找的对象都保证存在,因此容器永远不会尝试添加缺失的元素。由于我只进行查找,这是否意味着 unordered_map 将始终为我提供恒定时间访问? linear time 情况仅适用于 insertion 会发生的某些情况,对吗?
编辑:unordered_map 中的元素保证是唯一的。它们保存内存中存在的几个唯一对象的地址。
【问题讨论】:
标签: c++ performance algorithm stl unordered-map