数据结构与算法——Day01
1:数组
1.1 什么是数组
数组本质上就是一组数的集合
1.2 数组的定义
在内存中开辟连续的存储空间,存贮相同类型数据的有序集合
1.2.1基础定义:
- 连续:在内存中连续分配的,有序的
- 相同数据类型:数组中存储的数据都是相同数据类型的
- 有序:数组存储时内存有序,存在一个连续的索引,索引从0开始
1.3 数组的特点
-
数组的长度不能修改
-
查询,修改效率高
-
迭代元素效率高
-
添加删除效率低
1.4 数组的使用场景
对于数据进行查询,但是不会频次较高的添加或者删除动作。
1.5 问题
-
数组的索引为什么是从0开始的
因为从0开始可以通过简单的计算快速定位到元素的地址值
数组中元素的地址值=首元素的地址+(索引*元素的宽度)
结论:数组能够快速的通过索引定位到元素。一旦从数组中对于元素进行各项操作,如果知道当前元素的索引就能够款苏进行操作 -
为什么说数组的长度一旦指定不能修改
数组开辟的是内存中连续的存储空间 ,导致如果从出现长度可以修改是特别小号内存资源的,很多时可能出现内存够用,但实质的连续内存空间不够用导致内存溢出问题。