数据结构----数组
数组:内存中开辟的连续的、有序的空间 动态数组时间复杂度 动态数组的扩容 reSize,涉及到数组的复制,时间复杂度为O(n) 添加操作:O(n) addFirst() 不扩容,则单纯的将所有元素后移O(n) ,若扩容, reSize O(n) + 元素后移 O(n) =2O(n) -->O(n) addLast() 不扩容,则为O(1),扩容 O(n) -->O(n) add(Index,e) 不扩容,去index为size/2,则O(n/2)--> -->O(n) 最终动态数组的add时间复杂度为O(n) 移除操作O(n) removeFirst() 不扩容,则单纯的将所有元素前移O(n) ,若扩容, reSize O(n) + 元素后移 O(n) =2O(n) -->O(n) removeLast() 不扩容,则为O(1),扩容 O(n) -->O(n) remove(Index,e) 不扩容,去index为size/2,则O(n/2)--> -->O(n) 修改操作:O(1) 查询 get(Index),根据索引查询,则为O(1) (已知索引) contains(e)/find(e) 则为O(n) (未知索引) 以上操作均为最坏情况分析,但是不可能每次操作都涉及扩容,所以总以最坏情况分析并不是完全合理的。