十周掌握数据结构与算法的运用,所有题解在代码仓库中
- 初始一个空数组arr,分配常输空间,记录实际长度(size)和容量(capacity)
- push: 向数组尾部添加元素,如果空间不够,申请2倍大小的连续空间,拷贝到新空间,释放旧空间
- pop: 删除数组尾部最后一个元素,若空间利用率(size / capacity)不到25%,释放一半空间
- 均摊复杂度O(1)
- 扩容为什么要申请执之前空间的2倍
- 收缩空间利用率为什么是不到25%
- 保证均摊复杂度O(1),防止连续push和pop操作,,导致连续copy数组元素
- 网络延迟时间 �