Java中ArrayList数据结构

65 阅读1分钟

1、数组(Array)是一种用连续的内存空间存储相同数据类型数据的线性数据结构。

2、数组的下标为什么从0开始

寻址公式是:baseAddress + i * dataTypeSize,计算下标的内存地址效率较高

3、查找的时间复杂度

随机(通过下标)查询的时间复杂度是O(1)

查找元素(未知下标)的时间复杂度是O(n)

查找元素(未知下标但排序)通过二分查找的时间复杂度是O(logn)

4、插入和删除时间复杂度

插入和删除的时候,为了保证数组的内存连续性,需要挪动数组元素,平均时间复杂度为O(n)