数组简介
数组操作
- 追加(push)- O(1)
- 索引 修改/访问(arr[idx] = ...)- O(1)O(n)
- 插入(insert)- O(n)
- 删除 - O(n)
- 合并 (concat) - O(m + n)
数组实现
- 元素在内存中呈现连续性排列
- 每个元素可以存储字节数相同数据(或地址)
卫星数据(存储地址)
- 数组元素用于存储地址时,这些地址指向的数据被称为卫星数据
访问/修改-索引 O(1)
追加元素的复杂度?
一种分配算法
插入元素 O(n)
- 后面的数据需要往前移动
合并数组 O(m + n)
- 数组a长度为n,数组b长度为m
- 空间不足时,需要开辟新的地址空间