C++面试八股文:用过std::set/std::map吗?

打印 上一主题 下一主题

主题 843|帖子 843|积分 2531

某日二师兄参加XXX科技公司的C++工程师开发岗位第27面:
<blockquote>面试官:用过std::set/std::map吗?
二师兄:用过。
面试官:能介绍一下二者吗?
二师兄:std::set是一个有序的集合,其中的元素是唯一的,即每个元素只能出现一次。一般用于去重和自动排序。
二师兄:std::map同样是有序组合,只不过它不止有key,每个key还对用一个value。其中key是唯一,不可重复,但是value却没有限制。key/value也被称为键值对。
面试官:知道他们底层使用什么数据结构存储数据的吗?
二师兄:两者都是使用红黑树作为底层的数据结构。红黑树是一种自动平衡的二叉树,它确保插入、删除和查找操作的时间复杂度都是O(log n)。
面试官:set/map对于key的类型有什么要求吗?

二师兄:因为set/map被称为有序容器,所以对插入进去的key有排序的要求。一般需要为类型实现
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

拉不拉稀肚拉稀

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表