数据结构——数组
数组是一种线性表数据结构,使用连续的内存空间来存储具有相同类型的数据。
一、复杂度分析
数组根据下标随机访问的时间复杂度为O(1)。
数据的插入与删除效率较低。
排序数组平均情况的时间复杂度为O(n)。
未排序数组则可特殊分析。
二、使用情况
1.数据大小事前已知,且数据操作较少;
2. 表示多维数组时,数组较为明显;
三、数组下标
数组的下标从0开始。从存储模型来看,下标的含义应该是偏移量。0是偏移量为0的存储首地址。
- 数组怎么根据下标随机访问的?
通过寻址公式:a[i]_address = base_address + i * data_type_size
其中data_type_size表示数组中每个元素的大小,base_address 是首元素地址,i:数组下标。
四、特点
- 数组是相同的数据类型的元素的集合
- 数组中的各元素的存储是有先后顺序的,他们在内存中按照这个先后顺序放在一起。
- 数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。
- 数据的大小是固定的
数组变量属引用类型,数组本身就是对象,数组中的每个元素相当于该对象的成员变量。