搜索
写经验 领红包

数组查询快的原因(数组查询)

导语:面试官:数组查询效率为什么高?我:因为有下标。 哈哈

数组查询快的原因(数组 查询)

估计很多程序员对于数组查询效率为什么这么高,回答都是因为有下标,通过下标直接定位到元素,然后就可以获取到元素里面的值[捂脸][捂脸]。这样的回答对于面试官来说,是不满意的工资直接降低一个等级,那么今天我们就来具体聊聊,数组为什么可以号称是java中查询效率最高的数据结构。

直接进入主题,数组效率高的原因:

1、数组的内存地址是连续的。

2、数组存储的元素类型是一致的,所以每个元素占用的内存大小是一样的。

3、数组的第一个元素内存地址作为整个数组的引用。

通过上面固定的三个条件,我们就可以根据传入的下标,通过一个数学公式,直接得到下标的内存地址,就可以获取里面的值了。

所以数组的时间复杂度是o(1)。不管你查询的下标是0还是10000,所需要的查询时间都是一样的,直接通过一个数学公式获取到下标的具体内存地址。

上面就是数据查询效率高的原因,但是凡事有利就有弊。应为数组的内存是连续的,所以对数组进行增删元素(不包含最后一个元素)都会对后面的元素进行位移操作,这就导致了性能问题,所以数组查询效率高,增删效率慢。

本文内容由快快网络小岑创作整理编辑!