后端岗位面试题更新 2026-08-05

请解释 STL 中 vector 的 push_back 操作的时间复杂度,并说明其扩容机制如何保证均摊复杂度为 O(1)。

腾讯后端开发互联网/IT性能优化问题拆解技术原理C++STL

考察说明

考察对 STL 容器底层实现、扩容策略及均摊复杂度分析的理解

回答思路

  1. 明确 push_back 的均摊时间复杂度为 O(1),最坏情况为 O(n)
  2. 解释扩容倍数(如 2 倍或 1.5 倍)及内存分配策略
  3. 说明均摊分析的原理:扩容操作次数有限,总代价被分散到每次 push_back
  4. 讨论扩容时的元素拷贝/移动成本及对性能的影响
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。