数据结构 | 数组

数组是一种用连续空间存储相同数据类型的线性数据结构

为什么数组的索引从0开始,从1开始不行吗?

寻址公式是: 数组首地址 + 索引 * 数据类型占用的字节

从0开始性能更好,从1开始,cpu会多一个减法运算。

查找数据的时间复杂度

三种情况: 已知下标、未知下标、未知下标但是有序

已知下标,直接套用寻址公式,时间复杂度是O(1)

未知下标,最优是O(1),最坏的情况是O(n)

未知下标但排序,时间算法复杂度是O(logn)

插入、删除数据的时间复杂度

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

你可能感兴趣的:(数据结构,算法)