数组这种数据结构的优缺点是什么?
- 优点:查询或者检索某个下标上的元素时效率极高。
原因:
1.每个元素的内存地址在空间存储上是连续的。
2.每一个元素类型相同,所以占用空间大小相同。
3.首元素地址即数组地址,知道首元素地址,知道每个元素占用的空间大小,又知道下标,所以通过计算可以知道某个下标上元素的内存地址。
4.数组中存储100个元素,或存储100万个元素,在元素查询或检索方面,效率是相同的。因为数组中元素查找的时候不会一个一个找,是通过数学表达式计算出来的(算出一个内存地址,直接定位) - 缺点:
1.为了保证元素的内存地址连续,所以随机增删效率较低,会涉及到之后的元素前移或者后移的操作
2.数组不能存储大数据量,因为很难在内存空间找到一块特别大的连续的空间。
3.对于数组最后一个元素的增删是没有效率影响的。
4.扩容麻烦,只能新建一个更大的数组,将元素一个一个移进去,效率低。