你知道std::unordered_set和std::unordered_map的底层实现原理和优缺点吗?

2026-04-12 03:130阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计994个文字,预计阅读时间需要4分钟。

你知道std::unordered_set和std::unordered_map的底层实现原理和优缺点吗?

某日二师兄参加XXX科技有限公司的C++工程师开发岗位第27面:面试官:知道std::unordered_set和std::unordered_map吗?二师兄:知道。面试官:知道std::unordered_set和std::unordered_map吗?二师兄:知道。两者都支持C++11引入的新容器,与std::set和std::map功能类似。

某日二师兄参加XXX科技公司的C++工程师开发岗位第27面:

面试官:知道std::unordered_set/std::unordered_map吗?

二师兄:知道。两者都是C++11引入的新容器,和std::setstd::map功能类似,key唯一,unordered_mapvalue可变。

二师兄:不同于set/mapunordered_set/unordered_map都是无序容器。

面试官:那你知道它们底层怎么实现的吗?

二师兄:两者底层使用哈希表实现,因此插入、删除和查找操作的平均时间复杂度为常数时间O(1)

面试官:既然平均复杂度是O(1),那么是不是可以取代setmap了?

二师兄:这里是平均的时间复杂度。

阅读全文

本文共计994个文字,预计阅读时间需要4分钟。

你知道std::unordered_set和std::unordered_map的底层实现原理和优缺点吗?

某日二师兄参加XXX科技有限公司的C++工程师开发岗位第27面:面试官:知道std::unordered_set和std::unordered_map吗?二师兄:知道。面试官:知道std::unordered_set和std::unordered_map吗?二师兄:知道。两者都支持C++11引入的新容器,与std::set和std::map功能类似。

某日二师兄参加XXX科技公司的C++工程师开发岗位第27面:

面试官:知道std::unordered_set/std::unordered_map吗?

二师兄:知道。两者都是C++11引入的新容器,和std::setstd::map功能类似,key唯一,unordered_mapvalue可变。

二师兄:不同于set/mapunordered_set/unordered_map都是无序容器。

面试官:那你知道它们底层怎么实现的吗?

二师兄:两者底层使用哈希表实现,因此插入、删除和查找操作的平均时间复杂度为常数时间O(1)

面试官:既然平均复杂度是O(1),那么是不是可以取代setmap了?

二师兄:这里是平均的时间复杂度。

阅读全文