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

posted on 2022-10-15 09:44  菜鸟乙  阅读(36)  评论(0编辑  收藏  举报

目录导航