在计算机中,我们可以把内存看成是一些排列好的格子,每个格子对应一个内存地址,那么数据会分散的存储在不同的格子中:
对于数组,计算机会在内存中为其申请一段连续的空间,并且会记下索引为0处的内存地址,以数组D为例,它的各个元素对应的索引及内存地址如下图所示:
假如我想访问索引为3处的元素D时,计算机会进行以下计算:
找到该数组索引 0 的内存地址 1001
将内存地址加上索引值,作为目标元素的地址,即1001+3 = 1004,对应的元素为D,便找到了目标元素。
计算内存地址这个过程是很快的,而我们一旦知道了内存地址就可以立即访问到该元素,因此它的时间复杂度是常数级别,为 O(1)。