0 课程地址
https://coding.imooc.com/lesson/207.html#mid=13842
1 重点关注
1.1 术语:均摊复杂度
场景:只在数组尾部添加元素
最优复杂度:不调用resize方法,O(1)级别
最坏复杂度:调用resize方法,O(n)级别
平均复杂度:m次调用resize方法,(m+1(addLast方法)+m(resize方法))/m ≈2,O(2)级别,故还是O(1)级别
1.2 复杂度震荡
在resize方法边缘来回试探,
如数组一共10个元素,依次addLast 1次,调用resize后容量变为20,
又removLast 后,又调用resize,容量变成10.
循环往复,导致成复杂度成O(n)级别
1.3 如何防止复杂度震荡
addLast的resize方法无法变动,可以在removLast当容量小于n/4时,进行缩容
2 课程内容
3 Coding
诸葛