用过的C++容器(set、unordered_set、map、unordered_map),请说明set和map的区别。
考察说明
考察对C++标准库关联容器的底层实现、有序性与性能差异的理解
回答思路
- 明确set与map在存储对象上的区别(键 vs 键值对)
- 说明set底层为红黑树,有序且查找为O(log n)
- 对比unordered_set使用哈希表,无序但平均O(1)查找
- 说明map与unordered_map的类似差异,并强调set和map都以红黑树实现
- 能根据场景选择合适容器
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。