std::unordered_map 查询时间复杂度
时间: 2023-08-26 08:15:56 浏览: 306
时间复杂度
C++ 中的 std::unordered_map 是基于哈希表实现的,因此查询一个元素的时间复杂度通常是 O(1),即常数时间复杂度。但是,在最坏情况下,所有的元素都会被哈希到同一个桶里,此时查询一个元素的时间复杂度会退化为 O(n),其中 n 是 std::unordered_map 中元素的个数。因此,std::unordered_map 的查询时间复杂度是具有不确定性的,但是在平均情况下,查询一个元素的时间复杂度是比较优秀的。需要注意的是,std::unordered_map 在性能上通常比 std::map 更优秀,但是其元素的顺序不是按照插入顺序或者键值的大小排序的。
阅读全文