什么是数据结构?什么是算法?
数据结构指一组数据的存储结构
算法就是操作数据的一组方法
关系:数据结构是为算法服务的,算法要作用在特定的数据结构之上。
数组是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。
因为数组是连续的内存空间和相同类型的数据。造就了它高效的“随机访问”。可以根据寻址公式,可以快速的计算出该元素存储的内存地址。时间复杂度为O(1)。1
2
3
4
5// 一维数组的寻址公式,base_address 为内存的首地址,data_type_size 为单个元素的大小
a[i]_address = base_address + i * data_type_size
// 二维数组寻址公式,对于 m * n 的数组
a[i][j]_address = base_address + ( i * n + j) * data_type_size