先说结论
最好是O(1),最差是O(n), 均摊是O(1)。
最好的情况,就是插入的时候,还有空余;最坏的情况,就是每次插入都满了,要重新分配内存。
均摊复杂度,先看一下定义
对一个数据结构进行一组连续操作中,大部分情况下时间复杂度都很低,只有个别情况下时
间复杂度比较高,而且这些操作之间存在前后连贯的时序关系,这个时候,我们就可以将这
一组操作放在一块儿分析,看是否能将较高时间复杂度那次操作的耗时,平摊到其他那些时
间复杂度比较低的操作上。
推导
这里就是按照定义,对插入九个数的过程进行了分析,其中当插入的空间不够时,会重新分配两倍的大小内存,详细解释,查看参考博客。
其中,不等号是进行了缩放,假设全部数量为1,然后有logn次的重新分配内存。
对等比数列求和使用了公式,