【发布时间】:2011-09-26 21:20:04
【问题描述】:
我们如何分析 std::vector 后面的插入(push_back)?每次插入的摊销时间是 O(1)。特别是在video in channel9 by Stephan T Lavavej 和in this ( 17:42 onwards ) 中,他说为了获得最佳性能,微软对这种方法的实现将向量的容量提高了大约 1.5。
这个常数是如何确定的?
【问题讨论】:
-
你确定你的意思是插入吗?我认为只有插入在末尾i>,或
push_back,是摊销O(1);任意插入与需要移动的元素数量成线性关系。 -
哦,我对此表示怀疑,感谢您提及...将编辑它
-
为什么人们投票结束时认为“离题”和“没有建设性”?投票结束“重复”可能是可以理解的,但不是给出的原因。潜在选民:当您不理解某个问题时,请不要投票。
标签: c++ algorithm stl stdvector amortized-analysis