后端岗位面试题更新 2026-08-05
向std::vector中尾插n个元素时,相比原生数组会多出多少次拷贝?请分析最坏情况的时间复杂度。
小马智行后端开发人工智能编码实现问题拆解技术原理C++STL
考察说明
考察对vector动态扩容机制、拷贝次数和时间复杂度的理解
回答思路
- 说明vector在容量不足时会重新分配内存并拷贝已有元素
- 指出最坏情况下每次扩容涉及约O(n)次拷贝,总拷贝次数约2n(采用倍增扩容时)
- 能与原生数组(无动态扩容)进行对比,并理解均摊复杂度
- 必要时提及C++11移动语义对拷贝的优化影响
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。